/*
 * Copyright Codeplay Software Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use these files except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// DO NOT MODIFY BY HAND
// This file was automatically generated by generate_matmul_tests.py.
// Results calculated using Tensorflow v1.12.0.

#include <gtest/gtest.h>
#include <vector>

#include "test/matmul/fixture.h"
#include "test/types/kernel_data_types.h"
#include "test/types/to_gtest_types.h"

using DataTypeList = sycldnn::types::KernelDataTypes;
using GTestTypeList = sycldnn::types::ToGTestTypes<DataTypeList>::type;

template <typename DataType>
using MatmulBatch3Beta0TrueTrue = MatmulFixture<DataType, true, true>;
TYPED_TEST_SUITE(MatmulBatch3Beta0TrueTrue, GTestTypeList);
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M14xK14xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      12845.,   30877.,   48909.,   66941.,   84973.,   103005.,  121037.,
      139069.,  157101.,  175133.,  193165.,  211197.,  229229.,  247261.,
      12950.,   31178.,   49406.,   67634.,   85862.,   104090.,  122318.,
      140546.,  158774.,  177002.,  195230.,  213458.,  231686.,  249914.,
      13055.,   31479.,   49903.,   68327.,   86751.,   105175.,  123599.,
      142023.,  160447.,  178871.,  197295.,  215719.,  234143.,  252567.,
      13160.,   31780.,   50400.,   69020.,   87640.,   106260.,  124880.,
      143500.,  162120.,  180740.,  199360.,  217980.,  236600.,  255220.,
      13265.,   32081.,   50897.,   69713.,   88529.,   107345.,  126161.,
      144977.,  163793.,  182609.,  201425.,  220241.,  239057.,  257873.,
      13370.,   32382.,   51394.,   70406.,   89418.,   108430.,  127442.,
      146454.,  165466.,  184478.,  203490.,  222502.,  241514.,  260526.,
      13475.,   32683.,   51891.,   71099.,   90307.,   109515.,  128723.,
      147931.,  167139.,  186347.,  205555.,  224763.,  243971.,  263179.,
      13580.,   32984.,   52388.,   71792.,   91196.,   110600.,  130004.,
      149408.,  168812.,  188216.,  207620.,  227024.,  246428.,  265832.,
      13685.,   33285.,   52885.,   72485.,   92085.,   111685.,  131285.,
      150885.,  170485.,  190085.,  209685.,  229285.,  248885.,  268485.,
      13790.,   33586.,   53382.,   73178.,   92974.,   112770.,  132566.,
      152362.,  172158.,  191954.,  211750.,  231546.,  251342.,  271138.,
      13895.,   33887.,   53879.,   73871.,   93863.,   113855.,  133847.,
      153839.,  173831.,  193823.,  213815.,  233807.,  253799.,  273791.,
      14000.,   34188.,   54376.,   74564.,   94752.,   114940.,  135128.,
      155316.,  175504.,  195692.,  215880.,  236068.,  256256.,  276444.,
      14105.,   34489.,   54873.,   75257.,   95641.,   116025.,  136409.,
      156793.,  177177.,  197561.,  217945.,  238329.,  258713.,  279097.,
      14210.,   34790.,   55370.,   75950.,   96530.,   117110.,  137690.,
      158270.,  178850.,  199430.,  220010.,  240590.,  261170.,  281750.,
      823697.,  880145.,  936593.,  993041.,  1049489., 1105937., 1162385.,
      1218833., 1275281., 1331729., 1388177., 1444625., 1501073., 1557521.,
      826546.,  883190.,  939834.,  996478.,  1053122., 1109766., 1166410.,
      1223054., 1279698., 1336342., 1392986., 1449630., 1506274., 1562918.,
      829395.,  886235.,  943075.,  999915.,  1056755., 1113595., 1170435.,
      1227275., 1284115., 1340955., 1397795., 1454635., 1511475., 1568315.,
      832244.,  889280.,  946316.,  1003352., 1060388., 1117424., 1174460.,
      1231496., 1288532., 1345568., 1402604., 1459640., 1516676., 1573712.,
      835093.,  892325.,  949557.,  1006789., 1064021., 1121253., 1178485.,
      1235717., 1292949., 1350181., 1407413., 1464645., 1521877., 1579109.,
      837942.,  895370.,  952798.,  1010226., 1067654., 1125082., 1182510.,
      1239938., 1297366., 1354794., 1412222., 1469650., 1527078., 1584506.,
      840791.,  898415.,  956039.,  1013663., 1071287., 1128911., 1186535.,
      1244159., 1301783., 1359407., 1417031., 1474655., 1532279., 1589903.,
      843640.,  901460.,  959280.,  1017100., 1074920., 1132740., 1190560.,
      1248380., 1306200., 1364020., 1421840., 1479660., 1537480., 1595300.,
      846489.,  904505.,  962521.,  1020537., 1078553., 1136569., 1194585.,
      1252601., 1310617., 1368633., 1426649., 1484665., 1542681., 1600697.,
      849338.,  907550.,  965762.,  1023974., 1082186., 1140398., 1198610.,
      1256822., 1315034., 1373246., 1431458., 1489670., 1547882., 1606094.,
      852187.,  910595.,  969003.,  1027411., 1085819., 1144227., 1202635.,
      1261043., 1319451., 1377859., 1436267., 1494675., 1553083., 1611491.,
      855036.,  913640.,  972244.,  1030848., 1089452., 1148056., 1206660.,
      1265264., 1323868., 1382472., 1441076., 1499680., 1558284., 1616888.,
      857885.,  916685.,  975485.,  1034285., 1093085., 1151885., 1210685.,
      1269485., 1328285., 1387085., 1445885., 1504685., 1563485., 1622285.,
      860734.,  919730.,  978726.,  1037722., 1096718., 1155714., 1214710.,
      1273706., 1332702., 1391698., 1450694., 1509690., 1568686., 1627682.,
      2710197., 2805061., 2899925., 2994789., 3089653., 3184517., 3279381.,
      3374245., 3469109., 3563973., 3658837., 3753701., 3848565., 3943429.,
      2715790., 2810850., 2905910., 3000970., 3096030., 3191090., 3286150.,
      3381210., 3476270., 3571330., 3666390., 3761450., 3856510., 3951570.,
      2721383., 2816639., 2911895., 3007151., 3102407., 3197663., 3292919.,
      3388175., 3483431., 3578687., 3673943., 3769199., 3864455., 3959711.,
      2726976., 2822428., 2917880., 3013332., 3108784., 3204236., 3299688.,
      3395140., 3490592., 3586044., 3681496., 3776948., 3872400., 3967852.,
      2732569., 2828217., 2923865., 3019513., 3115161., 3210809., 3306457.,
      3402105., 3497753., 3593401., 3689049., 3784697., 3880345., 3975993.,
      2738162., 2834006., 2929850., 3025694., 3121538., 3217382., 3313226.,
      3409070., 3504914., 3600758., 3696602., 3792446., 3888290., 3984134.,
      2743755., 2839795., 2935835., 3031875., 3127915., 3223955., 3319995.,
      3416035., 3512075., 3608115., 3704155., 3800195., 3896235., 3992275.,
      2749348., 2845584., 2941820., 3038056., 3134292., 3230528., 3326764.,
      3423000., 3519236., 3615472., 3711708., 3807944., 3904180., 4000416.,
      2754941., 2851373., 2947805., 3044237., 3140669., 3237101., 3333533.,
      3429965., 3526397., 3622829., 3719261., 3815693., 3912125., 4008557.,
      2760534., 2857162., 2953790., 3050418., 3147046., 3243674., 3340302.,
      3436930., 3533558., 3630186., 3726814., 3823442., 3920070., 4016698.,
      2766127., 2862951., 2959775., 3056599., 3153423., 3250247., 3347071.,
      3443895., 3540719., 3637543., 3734367., 3831191., 3928015., 4024839.,
      2771720., 2868740., 2965760., 3062780., 3159800., 3256820., 3353840.,
      3450860., 3547880., 3644900., 3741920., 3838940., 3935960., 4032980.,
      2777313., 2874529., 2971745., 3068961., 3166177., 3263393., 3360609.,
      3457825., 3555041., 3652257., 3749473., 3846689., 3943905., 4041121.,
      2782906., 2880318., 2977730., 3075142., 3172554., 3269966., 3367378.,
      3464790., 3562202., 3659614., 3757026., 3854438., 3951850., 4049262.};
  const int batches = 3;
  const int m = 14;
  const int k = 14;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M14xK14xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      12845.,   30877.,   48909.,   66941.,   84973.,   103005.,  121037.,
      139069.,  157101.,  175133.,  193165.,  211197.,  229229.,  247261.,
      265293.,  12950.,   31178.,   49406.,   67634.,   85862.,   104090.,
      122318.,  140546.,  158774.,  177002.,  195230.,  213458.,  231686.,
      249914.,  268142.,  13055.,   31479.,   49903.,   68327.,   86751.,
      105175.,  123599.,  142023.,  160447.,  178871.,  197295.,  215719.,
      234143.,  252567.,  270991.,  13160.,   31780.,   50400.,   69020.,
      87640.,   106260.,  124880.,  143500.,  162120.,  180740.,  199360.,
      217980.,  236600.,  255220.,  273840.,  13265.,   32081.,   50897.,
      69713.,   88529.,   107345.,  126161.,  144977.,  163793.,  182609.,
      201425.,  220241.,  239057.,  257873.,  276689.,  13370.,   32382.,
      51394.,   70406.,   89418.,   108430.,  127442.,  146454.,  165466.,
      184478.,  203490.,  222502.,  241514.,  260526.,  279538.,  13475.,
      32683.,   51891.,   71099.,   90307.,   109515.,  128723.,  147931.,
      167139.,  186347.,  205555.,  224763.,  243971.,  263179.,  282387.,
      13580.,   32984.,   52388.,   71792.,   91196.,   110600.,  130004.,
      149408.,  168812.,  188216.,  207620.,  227024.,  246428.,  265832.,
      285236.,  13685.,   33285.,   52885.,   72485.,   92085.,   111685.,
      131285.,  150885.,  170485.,  190085.,  209685.,  229285.,  248885.,
      268485.,  288085.,  13790.,   33586.,   53382.,   73178.,   92974.,
      112770.,  132566.,  152362.,  172158.,  191954.,  211750.,  231546.,
      251342.,  271138.,  290934.,  13895.,   33887.,   53879.,   73871.,
      93863.,   113855.,  133847.,  153839.,  173831.,  193823.,  213815.,
      233807.,  253799.,  273791.,  293783.,  14000.,   34188.,   54376.,
      74564.,   94752.,   114940.,  135128.,  155316.,  175504.,  195692.,
      215880.,  236068.,  256256.,  276444.,  296632.,  14105.,   34489.,
      54873.,   75257.,   95641.,   116025.,  136409.,  156793.,  177177.,
      197561.,  217945.,  238329.,  258713.,  279097.,  299481.,  14210.,
      34790.,   55370.,   75950.,   96530.,   117110.,  137690.,  158270.,
      178850.,  199430.,  220010.,  240590.,  261170.,  281750.,  302330.,
      880145.,  936593.,  993041.,  1049489., 1105937., 1162385., 1218833.,
      1275281., 1331729., 1388177., 1444625., 1501073., 1557521., 1613969.,
      1670417., 883190.,  939834.,  996478.,  1053122., 1109766., 1166410.,
      1223054., 1279698., 1336342., 1392986., 1449630., 1506274., 1562918.,
      1619562., 1676206., 886235.,  943075.,  999915.,  1056755., 1113595.,
      1170435., 1227275., 1284115., 1340955., 1397795., 1454635., 1511475.,
      1568315., 1625155., 1681995., 889280.,  946316.,  1003352., 1060388.,
      1117424., 1174460., 1231496., 1288532., 1345568., 1402604., 1459640.,
      1516676., 1573712., 1630748., 1687784., 892325.,  949557.,  1006789.,
      1064021., 1121253., 1178485., 1235717., 1292949., 1350181., 1407413.,
      1464645., 1521877., 1579109., 1636341., 1693573., 895370.,  952798.,
      1010226., 1067654., 1125082., 1182510., 1239938., 1297366., 1354794.,
      1412222., 1469650., 1527078., 1584506., 1641934., 1699362., 898415.,
      956039.,  1013663., 1071287., 1128911., 1186535., 1244159., 1301783.,
      1359407., 1417031., 1474655., 1532279., 1589903., 1647527., 1705151.,
      901460.,  959280.,  1017100., 1074920., 1132740., 1190560., 1248380.,
      1306200., 1364020., 1421840., 1479660., 1537480., 1595300., 1653120.,
      1710940., 904505.,  962521.,  1020537., 1078553., 1136569., 1194585.,
      1252601., 1310617., 1368633., 1426649., 1484665., 1542681., 1600697.,
      1658713., 1716729., 907550.,  965762.,  1023974., 1082186., 1140398.,
      1198610., 1256822., 1315034., 1373246., 1431458., 1489670., 1547882.,
      1606094., 1664306., 1722518., 910595.,  969003.,  1027411., 1085819.,
      1144227., 1202635., 1261043., 1319451., 1377859., 1436267., 1494675.,
      1553083., 1611491., 1669899., 1728307., 913640.,  972244.,  1030848.,
      1089452., 1148056., 1206660., 1265264., 1323868., 1382472., 1441076.,
      1499680., 1558284., 1616888., 1675492., 1734096., 916685.,  975485.,
      1034285., 1093085., 1151885., 1210685., 1269485., 1328285., 1387085.,
      1445885., 1504685., 1563485., 1622285., 1681085., 1739885., 919730.,
      978726.,  1037722., 1096718., 1155714., 1214710., 1273706., 1332702.,
      1391698., 1450694., 1509690., 1568686., 1627682., 1686678., 1745674.,
      2899925., 2994789., 3089653., 3184517., 3279381., 3374245., 3469109.,
      3563973., 3658837., 3753701., 3848565., 3943429., 4038293., 4133157.,
      4228021., 2905910., 3000970., 3096030., 3191090., 3286150., 3381210.,
      3476270., 3571330., 3666390., 3761450., 3856510., 3951570., 4046630.,
      4141690., 4236750., 2911895., 3007151., 3102407., 3197663., 3292919.,
      3388175., 3483431., 3578687., 3673943., 3769199., 3864455., 3959711.,
      4054967., 4150223., 4245479., 2917880., 3013332., 3108784., 3204236.,
      3299688., 3395140., 3490592., 3586044., 3681496., 3776948., 3872400.,
      3967852., 4063304., 4158756., 4254208., 2923865., 3019513., 3115161.,
      3210809., 3306457., 3402105., 3497753., 3593401., 3689049., 3784697.,
      3880345., 3975993., 4071641., 4167289., 4262937., 2929850., 3025694.,
      3121538., 3217382., 3313226., 3409070., 3504914., 3600758., 3696602.,
      3792446., 3888290., 3984134., 4079978., 4175822., 4271666., 2935835.,
      3031875., 3127915., 3223955., 3319995., 3416035., 3512075., 3608115.,
      3704155., 3800195., 3896235., 3992275., 4088315., 4184355., 4280395.,
      2941820., 3038056., 3134292., 3230528., 3326764., 3423000., 3519236.,
      3615472., 3711708., 3807944., 3904180., 4000416., 4096652., 4192888.,
      4289124., 2947805., 3044237., 3140669., 3237101., 3333533., 3429965.,
      3526397., 3622829., 3719261., 3815693., 3912125., 4008557., 4104989.,
      4201421., 4297853., 2953790., 3050418., 3147046., 3243674., 3340302.,
      3436930., 3533558., 3630186., 3726814., 3823442., 3920070., 4016698.,
      4113326., 4209954., 4306582., 2959775., 3056599., 3153423., 3250247.,
      3347071., 3443895., 3540719., 3637543., 3734367., 3831191., 3928015.,
      4024839., 4121663., 4218487., 4315311., 2965760., 3062780., 3159800.,
      3256820., 3353840., 3450860., 3547880., 3644900., 3741920., 3838940.,
      3935960., 4032980., 4130000., 4227020., 4324040., 2971745., 3068961.,
      3166177., 3263393., 3360609., 3457825., 3555041., 3652257., 3749473.,
      3846689., 3943905., 4041121., 4138337., 4235553., 4332769., 2977730.,
      3075142., 3172554., 3269966., 3367378., 3464790., 3562202., 3659614.,
      3757026., 3854438., 3951850., 4049262., 4146674., 4244086., 4341498.};
  const int batches = 3;
  const int m = 14;
  const int k = 14;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M14xK14xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      12845.,   30877.,   48909.,   66941.,   84973.,   103005.,  121037.,
      139069.,  157101.,  175133.,  193165.,  211197.,  229229.,  247261.,
      265293.,  283325.,  12950.,   31178.,   49406.,   67634.,   85862.,
      104090.,  122318.,  140546.,  158774.,  177002.,  195230.,  213458.,
      231686.,  249914.,  268142.,  286370.,  13055.,   31479.,   49903.,
      68327.,   86751.,   105175.,  123599.,  142023.,  160447.,  178871.,
      197295.,  215719.,  234143.,  252567.,  270991.,  289415.,  13160.,
      31780.,   50400.,   69020.,   87640.,   106260.,  124880.,  143500.,
      162120.,  180740.,  199360.,  217980.,  236600.,  255220.,  273840.,
      292460.,  13265.,   32081.,   50897.,   69713.,   88529.,   107345.,
      126161.,  144977.,  163793.,  182609.,  201425.,  220241.,  239057.,
      257873.,  276689.,  295505.,  13370.,   32382.,   51394.,   70406.,
      89418.,   108430.,  127442.,  146454.,  165466.,  184478.,  203490.,
      222502.,  241514.,  260526.,  279538.,  298550.,  13475.,   32683.,
      51891.,   71099.,   90307.,   109515.,  128723.,  147931.,  167139.,
      186347.,  205555.,  224763.,  243971.,  263179.,  282387.,  301595.,
      13580.,   32984.,   52388.,   71792.,   91196.,   110600.,  130004.,
      149408.,  168812.,  188216.,  207620.,  227024.,  246428.,  265832.,
      285236.,  304640.,  13685.,   33285.,   52885.,   72485.,   92085.,
      111685.,  131285.,  150885.,  170485.,  190085.,  209685.,  229285.,
      248885.,  268485.,  288085.,  307685.,  13790.,   33586.,   53382.,
      73178.,   92974.,   112770.,  132566.,  152362.,  172158.,  191954.,
      211750.,  231546.,  251342.,  271138.,  290934.,  310730.,  13895.,
      33887.,   53879.,   73871.,   93863.,   113855.,  133847.,  153839.,
      173831.,  193823.,  213815.,  233807.,  253799.,  273791.,  293783.,
      313775.,  14000.,   34188.,   54376.,   74564.,   94752.,   114940.,
      135128.,  155316.,  175504.,  195692.,  215880.,  236068.,  256256.,
      276444.,  296632.,  316820.,  14105.,   34489.,   54873.,   75257.,
      95641.,   116025.,  136409.,  156793.,  177177.,  197561.,  217945.,
      238329.,  258713.,  279097.,  299481.,  319865.,  14210.,   34790.,
      55370.,   75950.,   96530.,   117110.,  137690.,  158270.,  178850.,
      199430.,  220010.,  240590.,  261170.,  281750.,  302330.,  322910.,
      936593.,  993041.,  1049489., 1105937., 1162385., 1218833., 1275281.,
      1331729., 1388177., 1444625., 1501073., 1557521., 1613969., 1670417.,
      1726865., 1783313., 939834.,  996478.,  1053122., 1109766., 1166410.,
      1223054., 1279698., 1336342., 1392986., 1449630., 1506274., 1562918.,
      1619562., 1676206., 1732850., 1789494., 943075.,  999915.,  1056755.,
      1113595., 1170435., 1227275., 1284115., 1340955., 1397795., 1454635.,
      1511475., 1568315., 1625155., 1681995., 1738835., 1795675., 946316.,
      1003352., 1060388., 1117424., 1174460., 1231496., 1288532., 1345568.,
      1402604., 1459640., 1516676., 1573712., 1630748., 1687784., 1744820.,
      1801856., 949557.,  1006789., 1064021., 1121253., 1178485., 1235717.,
      1292949., 1350181., 1407413., 1464645., 1521877., 1579109., 1636341.,
      1693573., 1750805., 1808037., 952798.,  1010226., 1067654., 1125082.,
      1182510., 1239938., 1297366., 1354794., 1412222., 1469650., 1527078.,
      1584506., 1641934., 1699362., 1756790., 1814218., 956039.,  1013663.,
      1071287., 1128911., 1186535., 1244159., 1301783., 1359407., 1417031.,
      1474655., 1532279., 1589903., 1647527., 1705151., 1762775., 1820399.,
      959280.,  1017100., 1074920., 1132740., 1190560., 1248380., 1306200.,
      1364020., 1421840., 1479660., 1537480., 1595300., 1653120., 1710940.,
      1768760., 1826580., 962521.,  1020537., 1078553., 1136569., 1194585.,
      1252601., 1310617., 1368633., 1426649., 1484665., 1542681., 1600697.,
      1658713., 1716729., 1774745., 1832761., 965762.,  1023974., 1082186.,
      1140398., 1198610., 1256822., 1315034., 1373246., 1431458., 1489670.,
      1547882., 1606094., 1664306., 1722518., 1780730., 1838942., 969003.,
      1027411., 1085819., 1144227., 1202635., 1261043., 1319451., 1377859.,
      1436267., 1494675., 1553083., 1611491., 1669899., 1728307., 1786715.,
      1845123., 972244.,  1030848., 1089452., 1148056., 1206660., 1265264.,
      1323868., 1382472., 1441076., 1499680., 1558284., 1616888., 1675492.,
      1734096., 1792700., 1851304., 975485.,  1034285., 1093085., 1151885.,
      1210685., 1269485., 1328285., 1387085., 1445885., 1504685., 1563485.,
      1622285., 1681085., 1739885., 1798685., 1857485., 978726.,  1037722.,
      1096718., 1155714., 1214710., 1273706., 1332702., 1391698., 1450694.,
      1509690., 1568686., 1627682., 1686678., 1745674., 1804670., 1863666.,
      3089653., 3184517., 3279381., 3374245., 3469109., 3563973., 3658837.,
      3753701., 3848565., 3943429., 4038293., 4133157., 4228021., 4322885.,
      4417749., 4512613., 3096030., 3191090., 3286150., 3381210., 3476270.,
      3571330., 3666390., 3761450., 3856510., 3951570., 4046630., 4141690.,
      4236750., 4331810., 4426870., 4521930., 3102407., 3197663., 3292919.,
      3388175., 3483431., 3578687., 3673943., 3769199., 3864455., 3959711.,
      4054967., 4150223., 4245479., 4340735., 4435991., 4531247., 3108784.,
      3204236., 3299688., 3395140., 3490592., 3586044., 3681496., 3776948.,
      3872400., 3967852., 4063304., 4158756., 4254208., 4349660., 4445112.,
      4540564., 3115161., 3210809., 3306457., 3402105., 3497753., 3593401.,
      3689049., 3784697., 3880345., 3975993., 4071641., 4167289., 4262937.,
      4358585., 4454233., 4549881., 3121538., 3217382., 3313226., 3409070.,
      3504914., 3600758., 3696602., 3792446., 3888290., 3984134., 4079978.,
      4175822., 4271666., 4367510., 4463354., 4559198., 3127915., 3223955.,
      3319995., 3416035., 3512075., 3608115., 3704155., 3800195., 3896235.,
      3992275., 4088315., 4184355., 4280395., 4376435., 4472475., 4568515.,
      3134292., 3230528., 3326764., 3423000., 3519236., 3615472., 3711708.,
      3807944., 3904180., 4000416., 4096652., 4192888., 4289124., 4385360.,
      4481596., 4577832., 3140669., 3237101., 3333533., 3429965., 3526397.,
      3622829., 3719261., 3815693., 3912125., 4008557., 4104989., 4201421.,
      4297853., 4394285., 4490717., 4587149., 3147046., 3243674., 3340302.,
      3436930., 3533558., 3630186., 3726814., 3823442., 3920070., 4016698.,
      4113326., 4209954., 4306582., 4403210., 4499838., 4596466., 3153423.,
      3250247., 3347071., 3443895., 3540719., 3637543., 3734367., 3831191.,
      3928015., 4024839., 4121663., 4218487., 4315311., 4412135., 4508959.,
      4605783., 3159800., 3256820., 3353840., 3450860., 3547880., 3644900.,
      3741920., 3838940., 3935960., 4032980., 4130000., 4227020., 4324040.,
      4421060., 4518080., 4615100., 3166177., 3263393., 3360609., 3457825.,
      3555041., 3652257., 3749473., 3846689., 3943905., 4041121., 4138337.,
      4235553., 4332769., 4429985., 4527201., 4624417., 3172554., 3269966.,
      3367378., 3464790., 3562202., 3659614., 3757026., 3854438., 3951850.,
      4049262., 4146674., 4244086., 4341498., 4438910., 4536322., 4633734.};
  const int batches = 3;
  const int m = 14;
  const int k = 14;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M14xK15xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      15800.,   38075.,   60350.,   82625.,   104900.,  127175.,  149450.,
      171725.,  194000.,  216275.,  238550.,  260825.,  283100.,  305375.,
      15920.,   38420.,   60920.,   83420.,   105920.,  128420.,  150920.,
      173420.,  195920.,  218420.,  240920.,  263420.,  285920.,  308420.,
      16040.,   38765.,   61490.,   84215.,   106940.,  129665.,  152390.,
      175115.,  197840.,  220565.,  243290.,  266015.,  288740.,  311465.,
      16160.,   39110.,   62060.,   85010.,   107960.,  130910.,  153860.,
      176810.,  199760.,  222710.,  245660.,  268610.,  291560.,  314510.,
      16280.,   39455.,   62630.,   85805.,   108980.,  132155.,  155330.,
      178505.,  201680.,  224855.,  248030.,  271205.,  294380.,  317555.,
      16400.,   39800.,   63200.,   86600.,   110000.,  133400.,  156800.,
      180200.,  203600.,  227000.,  250400.,  273800.,  297200.,  320600.,
      16520.,   40145.,   63770.,   87395.,   111020.,  134645.,  158270.,
      181895.,  205520.,  229145.,  252770.,  276395.,  300020.,  323645.,
      16640.,   40490.,   64340.,   88190.,   112040.,  135890.,  159740.,
      183590.,  207440.,  231290.,  255140.,  278990.,  302840.,  326690.,
      16760.,   40835.,   64910.,   88985.,   113060.,  137135.,  161210.,
      185285.,  209360.,  233435.,  257510.,  281585.,  305660.,  329735.,
      16880.,   41180.,   65480.,   89780.,   114080.,  138380.,  162680.,
      186980.,  211280.,  235580.,  259880.,  284180.,  308480.,  332780.,
      17000.,   41525.,   66050.,   90575.,   115100.,  139625.,  164150.,
      188675.,  213200.,  237725.,  262250.,  286775.,  311300.,  335825.,
      17120.,   41870.,   66620.,   91370.,   116120.,  140870.,  165620.,
      190370.,  215120.,  239870.,  264620.,  289370.,  314120.,  338870.,
      17240.,   42215.,   67190.,   92165.,   117140.,  142115.,  167090.,
      192065.,  217040.,  242015.,  266990.,  291965.,  316940.,  341915.,
      17360.,   42560.,   67760.,   92960.,   118160.,  143360.,  168560.,
      193760.,  218960.,  244160.,  269360.,  294560.,  319760.,  344960.,
      1014350., 1083875., 1153400., 1222925., 1292450., 1361975., 1431500.,
      1501025., 1570550., 1640075., 1709600., 1779125., 1848650., 1918175.,
      1017620., 1087370., 1157120., 1226870., 1296620., 1366370., 1436120.,
      1505870., 1575620., 1645370., 1715120., 1784870., 1854620., 1924370.,
      1020890., 1090865., 1160840., 1230815., 1300790., 1370765., 1440740.,
      1510715., 1580690., 1650665., 1720640., 1790615., 1860590., 1930565.,
      1024160., 1094360., 1164560., 1234760., 1304960., 1375160., 1445360.,
      1515560., 1585760., 1655960., 1726160., 1796360., 1866560., 1936760.,
      1027430., 1097855., 1168280., 1238705., 1309130., 1379555., 1449980.,
      1520405., 1590830., 1661255., 1731680., 1802105., 1872530., 1942955.,
      1030700., 1101350., 1172000., 1242650., 1313300., 1383950., 1454600.,
      1525250., 1595900., 1666550., 1737200., 1807850., 1878500., 1949150.,
      1033970., 1104845., 1175720., 1246595., 1317470., 1388345., 1459220.,
      1530095., 1600970., 1671845., 1742720., 1813595., 1884470., 1955345.,
      1037240., 1108340., 1179440., 1250540., 1321640., 1392740., 1463840.,
      1534940., 1606040., 1677140., 1748240., 1819340., 1890440., 1961540.,
      1040510., 1111835., 1183160., 1254485., 1325810., 1397135., 1468460.,
      1539785., 1611110., 1682435., 1753760., 1825085., 1896410., 1967735.,
      1043780., 1115330., 1186880., 1258430., 1329980., 1401530., 1473080.,
      1544630., 1616180., 1687730., 1759280., 1830830., 1902380., 1973930.,
      1047050., 1118825., 1190600., 1262375., 1334150., 1405925., 1477700.,
      1549475., 1621250., 1693025., 1764800., 1836575., 1908350., 1980125.,
      1050320., 1122320., 1194320., 1266320., 1338320., 1410320., 1482320.,
      1554320., 1626320., 1698320., 1770320., 1842320., 1914320., 1986320.,
      1053590., 1125815., 1198040., 1270265., 1342490., 1414715., 1486940.,
      1559165., 1631390., 1703615., 1775840., 1848065., 1920290., 1992515.,
      1056860., 1129310., 1201760., 1274210., 1346660., 1419110., 1491560.,
      1564010., 1636460., 1708910., 1781360., 1853810., 1926260., 1998710.,
      3335900., 3452675., 3569450., 3686225., 3803000., 3919775., 4036550.,
      4153325., 4270100., 4386875., 4503650., 4620425., 4737200., 4853975.,
      3342320., 3459320., 3576320., 3693320., 3810320., 3927320., 4044320.,
      4161320., 4278320., 4395320., 4512320., 4629320., 4746320., 4863320.,
      3348740., 3465965., 3583190., 3700415., 3817640., 3934865., 4052090.,
      4169315., 4286540., 4403765., 4520990., 4638215., 4755440., 4872665.,
      3355160., 3472610., 3590060., 3707510., 3824960., 3942410., 4059860.,
      4177310., 4294760., 4412210., 4529660., 4647110., 4764560., 4882010.,
      3361580., 3479255., 3596930., 3714605., 3832280., 3949955., 4067630.,
      4185305., 4302980., 4420655., 4538330., 4656005., 4773680., 4891355.,
      3368000., 3485900., 3603800., 3721700., 3839600., 3957500., 4075400.,
      4193300., 4311200., 4429100., 4547000., 4664900., 4782800., 4900700.,
      3374420., 3492545., 3610670., 3728795., 3846920., 3965045., 4083170.,
      4201295., 4319420., 4437545., 4555670., 4673795., 4791920., 4910045.,
      3380840., 3499190., 3617540., 3735890., 3854240., 3972590., 4090940.,
      4209290., 4327640., 4445990., 4564340., 4682690., 4801040., 4919390.,
      3387260., 3505835., 3624410., 3742985., 3861560., 3980135., 4098710.,
      4217285., 4335860., 4454435., 4573010., 4691585., 4810160., 4928735.,
      3393680., 3512480., 3631280., 3750080., 3868880., 3987680., 4106480.,
      4225280., 4344080., 4462880., 4581680., 4700480., 4819280., 4938080.,
      3400100., 3519125., 3638150., 3757175., 3876200., 3995225., 4114250.,
      4233275., 4352300., 4471325., 4590350., 4709375., 4828400., 4947425.,
      3406520., 3525770., 3645020., 3764270., 3883520., 4002770., 4122020.,
      4241270., 4360520., 4479770., 4599020., 4718270., 4837520., 4956770.,
      3412940., 3532415., 3651890., 3771365., 3890840., 4010315., 4129790.,
      4249265., 4368740., 4488215., 4607690., 4727165., 4846640., 4966115.,
      3419360., 3539060., 3658760., 3778460., 3898160., 4017860., 4137560.,
      4257260., 4376960., 4496660., 4616360., 4736060., 4855760., 4975460.};
  const int batches = 3;
  const int m = 14;
  const int k = 15;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M14xK15xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      15800.,   38075.,   60350.,   82625.,   104900.,  127175.,  149450.,
      171725.,  194000.,  216275.,  238550.,  260825.,  283100.,  305375.,
      327650.,  15920.,   38420.,   60920.,   83420.,   105920.,  128420.,
      150920.,  173420.,  195920.,  218420.,  240920.,  263420.,  285920.,
      308420.,  330920.,  16040.,   38765.,   61490.,   84215.,   106940.,
      129665.,  152390.,  175115.,  197840.,  220565.,  243290.,  266015.,
      288740.,  311465.,  334190.,  16160.,   39110.,   62060.,   85010.,
      107960.,  130910.,  153860.,  176810.,  199760.,  222710.,  245660.,
      268610.,  291560.,  314510.,  337460.,  16280.,   39455.,   62630.,
      85805.,   108980.,  132155.,  155330.,  178505.,  201680.,  224855.,
      248030.,  271205.,  294380.,  317555.,  340730.,  16400.,   39800.,
      63200.,   86600.,   110000.,  133400.,  156800.,  180200.,  203600.,
      227000.,  250400.,  273800.,  297200.,  320600.,  344000.,  16520.,
      40145.,   63770.,   87395.,   111020.,  134645.,  158270.,  181895.,
      205520.,  229145.,  252770.,  276395.,  300020.,  323645.,  347270.,
      16640.,   40490.,   64340.,   88190.,   112040.,  135890.,  159740.,
      183590.,  207440.,  231290.,  255140.,  278990.,  302840.,  326690.,
      350540.,  16760.,   40835.,   64910.,   88985.,   113060.,  137135.,
      161210.,  185285.,  209360.,  233435.,  257510.,  281585.,  305660.,
      329735.,  353810.,  16880.,   41180.,   65480.,   89780.,   114080.,
      138380.,  162680.,  186980.,  211280.,  235580.,  259880.,  284180.,
      308480.,  332780.,  357080.,  17000.,   41525.,   66050.,   90575.,
      115100.,  139625.,  164150.,  188675.,  213200.,  237725.,  262250.,
      286775.,  311300.,  335825.,  360350.,  17120.,   41870.,   66620.,
      91370.,   116120.,  140870.,  165620.,  190370.,  215120.,  239870.,
      264620.,  289370.,  314120.,  338870.,  363620.,  17240.,   42215.,
      67190.,   92165.,   117140.,  142115.,  167090.,  192065.,  217040.,
      242015.,  266990.,  291965.,  316940.,  341915.,  366890.,  17360.,
      42560.,   67760.,   92960.,   118160.,  143360.,  168560.,  193760.,
      218960.,  244160.,  269360.,  294560.,  319760.,  344960.,  370160.,
      1083875., 1153400., 1222925., 1292450., 1361975., 1431500., 1501025.,
      1570550., 1640075., 1709600., 1779125., 1848650., 1918175., 1987700.,
      2057225., 1087370., 1157120., 1226870., 1296620., 1366370., 1436120.,
      1505870., 1575620., 1645370., 1715120., 1784870., 1854620., 1924370.,
      1994120., 2063870., 1090865., 1160840., 1230815., 1300790., 1370765.,
      1440740., 1510715., 1580690., 1650665., 1720640., 1790615., 1860590.,
      1930565., 2000540., 2070515., 1094360., 1164560., 1234760., 1304960.,
      1375160., 1445360., 1515560., 1585760., 1655960., 1726160., 1796360.,
      1866560., 1936760., 2006960., 2077160., 1097855., 1168280., 1238705.,
      1309130., 1379555., 1449980., 1520405., 1590830., 1661255., 1731680.,
      1802105., 1872530., 1942955., 2013380., 2083805., 1101350., 1172000.,
      1242650., 1313300., 1383950., 1454600., 1525250., 1595900., 1666550.,
      1737200., 1807850., 1878500., 1949150., 2019800., 2090450., 1104845.,
      1175720., 1246595., 1317470., 1388345., 1459220., 1530095., 1600970.,
      1671845., 1742720., 1813595., 1884470., 1955345., 2026220., 2097095.,
      1108340., 1179440., 1250540., 1321640., 1392740., 1463840., 1534940.,
      1606040., 1677140., 1748240., 1819340., 1890440., 1961540., 2032640.,
      2103740., 1111835., 1183160., 1254485., 1325810., 1397135., 1468460.,
      1539785., 1611110., 1682435., 1753760., 1825085., 1896410., 1967735.,
      2039060., 2110385., 1115330., 1186880., 1258430., 1329980., 1401530.,
      1473080., 1544630., 1616180., 1687730., 1759280., 1830830., 1902380.,
      1973930., 2045480., 2117030., 1118825., 1190600., 1262375., 1334150.,
      1405925., 1477700., 1549475., 1621250., 1693025., 1764800., 1836575.,
      1908350., 1980125., 2051900., 2123675., 1122320., 1194320., 1266320.,
      1338320., 1410320., 1482320., 1554320., 1626320., 1698320., 1770320.,
      1842320., 1914320., 1986320., 2058320., 2130320., 1125815., 1198040.,
      1270265., 1342490., 1414715., 1486940., 1559165., 1631390., 1703615.,
      1775840., 1848065., 1920290., 1992515., 2064740., 2136965., 1129310.,
      1201760., 1274210., 1346660., 1419110., 1491560., 1564010., 1636460.,
      1708910., 1781360., 1853810., 1926260., 1998710., 2071160., 2143610.,
      3569450., 3686225., 3803000., 3919775., 4036550., 4153325., 4270100.,
      4386875., 4503650., 4620425., 4737200., 4853975., 4970750., 5087525.,
      5204300., 3576320., 3693320., 3810320., 3927320., 4044320., 4161320.,
      4278320., 4395320., 4512320., 4629320., 4746320., 4863320., 4980320.,
      5097320., 5214320., 3583190., 3700415., 3817640., 3934865., 4052090.,
      4169315., 4286540., 4403765., 4520990., 4638215., 4755440., 4872665.,
      4989890., 5107115., 5224340., 3590060., 3707510., 3824960., 3942410.,
      4059860., 4177310., 4294760., 4412210., 4529660., 4647110., 4764560.,
      4882010., 4999460., 5116910., 5234360., 3596930., 3714605., 3832280.,
      3949955., 4067630., 4185305., 4302980., 4420655., 4538330., 4656005.,
      4773680., 4891355., 5009030., 5126705., 5244380., 3603800., 3721700.,
      3839600., 3957500., 4075400., 4193300., 4311200., 4429100., 4547000.,
      4664900., 4782800., 4900700., 5018600., 5136500., 5254400., 3610670.,
      3728795., 3846920., 3965045., 4083170., 4201295., 4319420., 4437545.,
      4555670., 4673795., 4791920., 4910045., 5028170., 5146295., 5264420.,
      3617540., 3735890., 3854240., 3972590., 4090940., 4209290., 4327640.,
      4445990., 4564340., 4682690., 4801040., 4919390., 5037740., 5156090.,
      5274440., 3624410., 3742985., 3861560., 3980135., 4098710., 4217285.,
      4335860., 4454435., 4573010., 4691585., 4810160., 4928735., 5047310.,
      5165885., 5284460., 3631280., 3750080., 3868880., 3987680., 4106480.,
      4225280., 4344080., 4462880., 4581680., 4700480., 4819280., 4938080.,
      5056880., 5175680., 5294480., 3638150., 3757175., 3876200., 3995225.,
      4114250., 4233275., 4352300., 4471325., 4590350., 4709375., 4828400.,
      4947425., 5066450., 5185475., 5304500., 3645020., 3764270., 3883520.,
      4002770., 4122020., 4241270., 4360520., 4479770., 4599020., 4718270.,
      4837520., 4956770., 5076020., 5195270., 5314520., 3651890., 3771365.,
      3890840., 4010315., 4129790., 4249265., 4368740., 4488215., 4607690.,
      4727165., 4846640., 4966115., 5085590., 5205065., 5324540., 3658760.,
      3778460., 3898160., 4017860., 4137560., 4257260., 4376960., 4496660.,
      4616360., 4736060., 4855760., 4975460., 5095160., 5214860., 5334560.};
  const int batches = 3;
  const int m = 14;
  const int k = 15;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M14xK15xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      15800.,   38075.,   60350.,   82625.,   104900.,  127175.,  149450.,
      171725.,  194000.,  216275.,  238550.,  260825.,  283100.,  305375.,
      327650.,  349925.,  15920.,   38420.,   60920.,   83420.,   105920.,
      128420.,  150920.,  173420.,  195920.,  218420.,  240920.,  263420.,
      285920.,  308420.,  330920.,  353420.,  16040.,   38765.,   61490.,
      84215.,   106940.,  129665.,  152390.,  175115.,  197840.,  220565.,
      243290.,  266015.,  288740.,  311465.,  334190.,  356915.,  16160.,
      39110.,   62060.,   85010.,   107960.,  130910.,  153860.,  176810.,
      199760.,  222710.,  245660.,  268610.,  291560.,  314510.,  337460.,
      360410.,  16280.,   39455.,   62630.,   85805.,   108980.,  132155.,
      155330.,  178505.,  201680.,  224855.,  248030.,  271205.,  294380.,
      317555.,  340730.,  363905.,  16400.,   39800.,   63200.,   86600.,
      110000.,  133400.,  156800.,  180200.,  203600.,  227000.,  250400.,
      273800.,  297200.,  320600.,  344000.,  367400.,  16520.,   40145.,
      63770.,   87395.,   111020.,  134645.,  158270.,  181895.,  205520.,
      229145.,  252770.,  276395.,  300020.,  323645.,  347270.,  370895.,
      16640.,   40490.,   64340.,   88190.,   112040.,  135890.,  159740.,
      183590.,  207440.,  231290.,  255140.,  278990.,  302840.,  326690.,
      350540.,  374390.,  16760.,   40835.,   64910.,   88985.,   113060.,
      137135.,  161210.,  185285.,  209360.,  233435.,  257510.,  281585.,
      305660.,  329735.,  353810.,  377885.,  16880.,   41180.,   65480.,
      89780.,   114080.,  138380.,  162680.,  186980.,  211280.,  235580.,
      259880.,  284180.,  308480.,  332780.,  357080.,  381380.,  17000.,
      41525.,   66050.,   90575.,   115100.,  139625.,  164150.,  188675.,
      213200.,  237725.,  262250.,  286775.,  311300.,  335825.,  360350.,
      384875.,  17120.,   41870.,   66620.,   91370.,   116120.,  140870.,
      165620.,  190370.,  215120.,  239870.,  264620.,  289370.,  314120.,
      338870.,  363620.,  388370.,  17240.,   42215.,   67190.,   92165.,
      117140.,  142115.,  167090.,  192065.,  217040.,  242015.,  266990.,
      291965.,  316940.,  341915.,  366890.,  391865.,  17360.,   42560.,
      67760.,   92960.,   118160.,  143360.,  168560.,  193760.,  218960.,
      244160.,  269360.,  294560.,  319760.,  344960.,  370160.,  395360.,
      1153400., 1222925., 1292450., 1361975., 1431500., 1501025., 1570550.,
      1640075., 1709600., 1779125., 1848650., 1918175., 1987700., 2057225.,
      2126750., 2196275., 1157120., 1226870., 1296620., 1366370., 1436120.,
      1505870., 1575620., 1645370., 1715120., 1784870., 1854620., 1924370.,
      1994120., 2063870., 2133620., 2203370., 1160840., 1230815., 1300790.,
      1370765., 1440740., 1510715., 1580690., 1650665., 1720640., 1790615.,
      1860590., 1930565., 2000540., 2070515., 2140490., 2210465., 1164560.,
      1234760., 1304960., 1375160., 1445360., 1515560., 1585760., 1655960.,
      1726160., 1796360., 1866560., 1936760., 2006960., 2077160., 2147360.,
      2217560., 1168280., 1238705., 1309130., 1379555., 1449980., 1520405.,
      1590830., 1661255., 1731680., 1802105., 1872530., 1942955., 2013380.,
      2083805., 2154230., 2224655., 1172000., 1242650., 1313300., 1383950.,
      1454600., 1525250., 1595900., 1666550., 1737200., 1807850., 1878500.,
      1949150., 2019800., 2090450., 2161100., 2231750., 1175720., 1246595.,
      1317470., 1388345., 1459220., 1530095., 1600970., 1671845., 1742720.,
      1813595., 1884470., 1955345., 2026220., 2097095., 2167970., 2238845.,
      1179440., 1250540., 1321640., 1392740., 1463840., 1534940., 1606040.,
      1677140., 1748240., 1819340., 1890440., 1961540., 2032640., 2103740.,
      2174840., 2245940., 1183160., 1254485., 1325810., 1397135., 1468460.,
      1539785., 1611110., 1682435., 1753760., 1825085., 1896410., 1967735.,
      2039060., 2110385., 2181710., 2253035., 1186880., 1258430., 1329980.,
      1401530., 1473080., 1544630., 1616180., 1687730., 1759280., 1830830.,
      1902380., 1973930., 2045480., 2117030., 2188580., 2260130., 1190600.,
      1262375., 1334150., 1405925., 1477700., 1549475., 1621250., 1693025.,
      1764800., 1836575., 1908350., 1980125., 2051900., 2123675., 2195450.,
      2267225., 1194320., 1266320., 1338320., 1410320., 1482320., 1554320.,
      1626320., 1698320., 1770320., 1842320., 1914320., 1986320., 2058320.,
      2130320., 2202320., 2274320., 1198040., 1270265., 1342490., 1414715.,
      1486940., 1559165., 1631390., 1703615., 1775840., 1848065., 1920290.,
      1992515., 2064740., 2136965., 2209190., 2281415., 1201760., 1274210.,
      1346660., 1419110., 1491560., 1564010., 1636460., 1708910., 1781360.,
      1853810., 1926260., 1998710., 2071160., 2143610., 2216060., 2288510.,
      3803000., 3919775., 4036550., 4153325., 4270100., 4386875., 4503650.,
      4620425., 4737200., 4853975., 4970750., 5087525., 5204300., 5321075.,
      5437850., 5554625., 3810320., 3927320., 4044320., 4161320., 4278320.,
      4395320., 4512320., 4629320., 4746320., 4863320., 4980320., 5097320.,
      5214320., 5331320., 5448320., 5565320., 3817640., 3934865., 4052090.,
      4169315., 4286540., 4403765., 4520990., 4638215., 4755440., 4872665.,
      4989890., 5107115., 5224340., 5341565., 5458790., 5576015., 3824960.,
      3942410., 4059860., 4177310., 4294760., 4412210., 4529660., 4647110.,
      4764560., 4882010., 4999460., 5116910., 5234360., 5351810., 5469260.,
      5586710., 3832280., 3949955., 4067630., 4185305., 4302980., 4420655.,
      4538330., 4656005., 4773680., 4891355., 5009030., 5126705., 5244380.,
      5362055., 5479730., 5597405., 3839600., 3957500., 4075400., 4193300.,
      4311200., 4429100., 4547000., 4664900., 4782800., 4900700., 5018600.,
      5136500., 5254400., 5372300., 5490200., 5608100., 3846920., 3965045.,
      4083170., 4201295., 4319420., 4437545., 4555670., 4673795., 4791920.,
      4910045., 5028170., 5146295., 5264420., 5382545., 5500670., 5618795.,
      3854240., 3972590., 4090940., 4209290., 4327640., 4445990., 4564340.,
      4682690., 4801040., 4919390., 5037740., 5156090., 5274440., 5392790.,
      5511140., 5629490., 3861560., 3980135., 4098710., 4217285., 4335860.,
      4454435., 4573010., 4691585., 4810160., 4928735., 5047310., 5165885.,
      5284460., 5403035., 5521610., 5640185., 3868880., 3987680., 4106480.,
      4225280., 4344080., 4462880., 4581680., 4700480., 4819280., 4938080.,
      5056880., 5175680., 5294480., 5413280., 5532080., 5650880., 3876200.,
      3995225., 4114250., 4233275., 4352300., 4471325., 4590350., 4709375.,
      4828400., 4947425., 5066450., 5185475., 5304500., 5423525., 5542550.,
      5661575., 3883520., 4002770., 4122020., 4241270., 4360520., 4479770.,
      4599020., 4718270., 4837520., 4956770., 5076020., 5195270., 5314520.,
      5433770., 5553020., 5672270., 3890840., 4010315., 4129790., 4249265.,
      4368740., 4488215., 4607690., 4727165., 4846640., 4966115., 5085590.,
      5205065., 5324540., 5444015., 5563490., 5682965., 3898160., 4017860.,
      4137560., 4257260., 4376960., 4496660., 4616360., 4736060., 4855760.,
      4975460., 5095160., 5214860., 5334560., 5454260., 5573960., 5693660.};
  const int batches = 3;
  const int m = 14;
  const int k = 15;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M14xK16xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      19176.,   46312.,   73448.,   100584.,  127720.,  154856.,  181992.,
      209128.,  236264.,  263400.,  290536.,  317672.,  344808.,  371944.,
      19312.,   46704.,   74096.,   101488.,  128880.,  156272.,  183664.,
      211056.,  238448.,  265840.,  293232.,  320624.,  348016.,  375408.,
      19448.,   47096.,   74744.,   102392.,  130040.,  157688.,  185336.,
      212984.,  240632.,  268280.,  295928.,  323576.,  351224.,  378872.,
      19584.,   47488.,   75392.,   103296.,  131200.,  159104.,  187008.,
      214912.,  242816.,  270720.,  298624.,  326528.,  354432.,  382336.,
      19720.,   47880.,   76040.,   104200.,  132360.,  160520.,  188680.,
      216840.,  245000.,  273160.,  301320.,  329480.,  357640.,  385800.,
      19856.,   48272.,   76688.,   105104.,  133520.,  161936.,  190352.,
      218768.,  247184.,  275600.,  304016.,  332432.,  360848.,  389264.,
      19992.,   48664.,   77336.,   106008.,  134680.,  163352.,  192024.,
      220696.,  249368.,  278040.,  306712.,  335384.,  364056.,  392728.,
      20128.,   49056.,   77984.,   106912.,  135840.,  164768.,  193696.,
      222624.,  251552.,  280480.,  309408.,  338336.,  367264.,  396192.,
      20264.,   49448.,   78632.,   107816.,  137000.,  166184.,  195368.,
      224552.,  253736.,  282920.,  312104.,  341288.,  370472.,  399656.,
      20400.,   49840.,   79280.,   108720.,  138160.,  167600.,  197040.,
      226480.,  255920.,  285360.,  314800.,  344240.,  373680.,  403120.,
      20536.,   50232.,   79928.,   109624.,  139320.,  169016.,  198712.,
      228408.,  258104.,  287800.,  317496.,  347192.,  376888.,  406584.,
      20672.,   50624.,   80576.,   110528.,  140480.,  170432.,  200384.,
      230336.,  260288.,  290240.,  320192.,  350144.,  380096.,  410048.,
      20808.,   51016.,   81224.,   111432.,  141640.,  171848.,  202056.,
      232264.,  262472.,  292680.,  322888.,  353096.,  383304.,  413512.,
      20944.,   51408.,   81872.,   112336.,  142800.,  173264.,  203728.,
      234192.,  264656.,  295120.,  325584.,  356048.,  386512.,  416976.,
      1232360., 1316840., 1401320., 1485800., 1570280., 1654760., 1739240.,
      1823720., 1908200., 1992680., 2077160., 2161640., 2246120., 2330600.,
      1236080., 1320816., 1405552., 1490288., 1575024., 1659760., 1744496.,
      1829232., 1913968., 1998704., 2083440., 2168176., 2252912., 2337648.,
      1239800., 1324792., 1409784., 1494776., 1579768., 1664760., 1749752.,
      1834744., 1919736., 2004728., 2089720., 2174712., 2259704., 2344696.,
      1243520., 1328768., 1414016., 1499264., 1584512., 1669760., 1755008.,
      1840256., 1925504., 2010752., 2096000., 2181248., 2266496., 2351744.,
      1247240., 1332744., 1418248., 1503752., 1589256., 1674760., 1760264.,
      1845768., 1931272., 2016776., 2102280., 2187784., 2273288., 2358792.,
      1250960., 1336720., 1422480., 1508240., 1594000., 1679760., 1765520.,
      1851280., 1937040., 2022800., 2108560., 2194320., 2280080., 2365840.,
      1254680., 1340696., 1426712., 1512728., 1598744., 1684760., 1770776.,
      1856792., 1942808., 2028824., 2114840., 2200856., 2286872., 2372888.,
      1258400., 1344672., 1430944., 1517216., 1603488., 1689760., 1776032.,
      1862304., 1948576., 2034848., 2121120., 2207392., 2293664., 2379936.,
      1262120., 1348648., 1435176., 1521704., 1608232., 1694760., 1781288.,
      1867816., 1954344., 2040872., 2127400., 2213928., 2300456., 2386984.,
      1265840., 1352624., 1439408., 1526192., 1612976., 1699760., 1786544.,
      1873328., 1960112., 2046896., 2133680., 2220464., 2307248., 2394032.,
      1269560., 1356600., 1443640., 1530680., 1617720., 1704760., 1791800.,
      1878840., 1965880., 2052920., 2139960., 2227000., 2314040., 2401080.,
      1273280., 1360576., 1447872., 1535168., 1622464., 1709760., 1797056.,
      1884352., 1971648., 2058944., 2146240., 2233536., 2320832., 2408128.,
      1277000., 1364552., 1452104., 1539656., 1627208., 1714760., 1802312.,
      1889864., 1977416., 2064968., 2152520., 2240072., 2327624., 2415176.,
      1280720., 1368528., 1456336., 1544144., 1631952., 1719760., 1807568.,
      1895376., 1983184., 2070992., 2158800., 2246608., 2334416., 2422224.,
      4051176., 4193000., 4334824., 4476648., 4618472., 4760296., 4902120.,
      5043944., 5185768., 5327592., 5469416., 5611240., 5753064., 5894888.,
      4058480., 4200560., 4342640., 4484720., 4626800., 4768880., 4910960.,
      5053040., 5195120., 5337200., 5479280., 5621360., 5763440., 5905520.,
      4065784., 4208120., 4350456., 4492792., 4635128., 4777464., 4919800.,
      5062136., 5204472., 5346808., 5489144., 5631480., 5773816., 5916152.,
      4073088., 4215680., 4358272., 4500864., 4643456., 4786048., 4928640.,
      5071232., 5213824., 5356416., 5499008., 5641600., 5784192., 5926784.,
      4080392., 4223240., 4366088., 4508936., 4651784., 4794632., 4937480.,
      5080328., 5223176., 5366024., 5508872., 5651720., 5794568., 5937416.,
      4087696., 4230800., 4373904., 4517008., 4660112., 4803216., 4946320.,
      5089424., 5232528., 5375632., 5518736., 5661840., 5804944., 5948048.,
      4095000., 4238360., 4381720., 4525080., 4668440., 4811800., 4955160.,
      5098520., 5241880., 5385240., 5528600., 5671960., 5815320., 5958680.,
      4102304., 4245920., 4389536., 4533152., 4676768., 4820384., 4964000.,
      5107616., 5251232., 5394848., 5538464., 5682080., 5825696., 5969312.,
      4109608., 4253480., 4397352., 4541224., 4685096., 4828968., 4972840.,
      5116712., 5260584., 5404456., 5548328., 5692200., 5836072., 5979944.,
      4116912., 4261040., 4405168., 4549296., 4693424., 4837552., 4981680.,
      5125808., 5269936., 5414064., 5558192., 5702320., 5846448., 5990576.,
      4124216., 4268600., 4412984., 4557368., 4701752., 4846136., 4990520.,
      5134904., 5279288., 5423672., 5568056., 5712440., 5856824., 6001208.,
      4131520., 4276160., 4420800., 4565440., 4710080., 4854720., 4999360.,
      5144000., 5288640., 5433280., 5577920., 5722560., 5867200., 6011840.,
      4138824., 4283720., 4428616., 4573512., 4718408., 4863304., 5008200.,
      5153096., 5297992., 5442888., 5587784., 5732680., 5877576., 6022472.,
      4146128., 4291280., 4436432., 4581584., 4726736., 4871888., 5017040.,
      5162192., 5307344., 5452496., 5597648., 5742800., 5887952., 6033104.};
  const int batches = 3;
  const int m = 14;
  const int k = 16;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M14xK16xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      19176.,   46312.,   73448.,   100584.,  127720.,  154856.,  181992.,
      209128.,  236264.,  263400.,  290536.,  317672.,  344808.,  371944.,
      399080.,  19312.,   46704.,   74096.,   101488.,  128880.,  156272.,
      183664.,  211056.,  238448.,  265840.,  293232.,  320624.,  348016.,
      375408.,  402800.,  19448.,   47096.,   74744.,   102392.,  130040.,
      157688.,  185336.,  212984.,  240632.,  268280.,  295928.,  323576.,
      351224.,  378872.,  406520.,  19584.,   47488.,   75392.,   103296.,
      131200.,  159104.,  187008.,  214912.,  242816.,  270720.,  298624.,
      326528.,  354432.,  382336.,  410240.,  19720.,   47880.,   76040.,
      104200.,  132360.,  160520.,  188680.,  216840.,  245000.,  273160.,
      301320.,  329480.,  357640.,  385800.,  413960.,  19856.,   48272.,
      76688.,   105104.,  133520.,  161936.,  190352.,  218768.,  247184.,
      275600.,  304016.,  332432.,  360848.,  389264.,  417680.,  19992.,
      48664.,   77336.,   106008.,  134680.,  163352.,  192024.,  220696.,
      249368.,  278040.,  306712.,  335384.,  364056.,  392728.,  421400.,
      20128.,   49056.,   77984.,   106912.,  135840.,  164768.,  193696.,
      222624.,  251552.,  280480.,  309408.,  338336.,  367264.,  396192.,
      425120.,  20264.,   49448.,   78632.,   107816.,  137000.,  166184.,
      195368.,  224552.,  253736.,  282920.,  312104.,  341288.,  370472.,
      399656.,  428840.,  20400.,   49840.,   79280.,   108720.,  138160.,
      167600.,  197040.,  226480.,  255920.,  285360.,  314800.,  344240.,
      373680.,  403120.,  432560.,  20536.,   50232.,   79928.,   109624.,
      139320.,  169016.,  198712.,  228408.,  258104.,  287800.,  317496.,
      347192.,  376888.,  406584.,  436280.,  20672.,   50624.,   80576.,
      110528.,  140480.,  170432.,  200384.,  230336.,  260288.,  290240.,
      320192.,  350144.,  380096.,  410048.,  440000.,  20808.,   51016.,
      81224.,   111432.,  141640.,  171848.,  202056.,  232264.,  262472.,
      292680.,  322888.,  353096.,  383304.,  413512.,  443720.,  20944.,
      51408.,   81872.,   112336.,  142800.,  173264.,  203728.,  234192.,
      264656.,  295120.,  325584.,  356048.,  386512.,  416976.,  447440.,
      1316840., 1401320., 1485800., 1570280., 1654760., 1739240., 1823720.,
      1908200., 1992680., 2077160., 2161640., 2246120., 2330600., 2415080.,
      2499560., 1320816., 1405552., 1490288., 1575024., 1659760., 1744496.,
      1829232., 1913968., 1998704., 2083440., 2168176., 2252912., 2337648.,
      2422384., 2507120., 1324792., 1409784., 1494776., 1579768., 1664760.,
      1749752., 1834744., 1919736., 2004728., 2089720., 2174712., 2259704.,
      2344696., 2429688., 2514680., 1328768., 1414016., 1499264., 1584512.,
      1669760., 1755008., 1840256., 1925504., 2010752., 2096000., 2181248.,
      2266496., 2351744., 2436992., 2522240., 1332744., 1418248., 1503752.,
      1589256., 1674760., 1760264., 1845768., 1931272., 2016776., 2102280.,
      2187784., 2273288., 2358792., 2444296., 2529800., 1336720., 1422480.,
      1508240., 1594000., 1679760., 1765520., 1851280., 1937040., 2022800.,
      2108560., 2194320., 2280080., 2365840., 2451600., 2537360., 1340696.,
      1426712., 1512728., 1598744., 1684760., 1770776., 1856792., 1942808.,
      2028824., 2114840., 2200856., 2286872., 2372888., 2458904., 2544920.,
      1344672., 1430944., 1517216., 1603488., 1689760., 1776032., 1862304.,
      1948576., 2034848., 2121120., 2207392., 2293664., 2379936., 2466208.,
      2552480., 1348648., 1435176., 1521704., 1608232., 1694760., 1781288.,
      1867816., 1954344., 2040872., 2127400., 2213928., 2300456., 2386984.,
      2473512., 2560040., 1352624., 1439408., 1526192., 1612976., 1699760.,
      1786544., 1873328., 1960112., 2046896., 2133680., 2220464., 2307248.,
      2394032., 2480816., 2567600., 1356600., 1443640., 1530680., 1617720.,
      1704760., 1791800., 1878840., 1965880., 2052920., 2139960., 2227000.,
      2314040., 2401080., 2488120., 2575160., 1360576., 1447872., 1535168.,
      1622464., 1709760., 1797056., 1884352., 1971648., 2058944., 2146240.,
      2233536., 2320832., 2408128., 2495424., 2582720., 1364552., 1452104.,
      1539656., 1627208., 1714760., 1802312., 1889864., 1977416., 2064968.,
      2152520., 2240072., 2327624., 2415176., 2502728., 2590280., 1368528.,
      1456336., 1544144., 1631952., 1719760., 1807568., 1895376., 1983184.,
      2070992., 2158800., 2246608., 2334416., 2422224., 2510032., 2597840.,
      4334824., 4476648., 4618472., 4760296., 4902120., 5043944., 5185768.,
      5327592., 5469416., 5611240., 5753064., 5894888., 6036712., 6178536.,
      6320360., 4342640., 4484720., 4626800., 4768880., 4910960., 5053040.,
      5195120., 5337200., 5479280., 5621360., 5763440., 5905520., 6047600.,
      6189680., 6331760., 4350456., 4492792., 4635128., 4777464., 4919800.,
      5062136., 5204472., 5346808., 5489144., 5631480., 5773816., 5916152.,
      6058488., 6200824., 6343160., 4358272., 4500864., 4643456., 4786048.,
      4928640., 5071232., 5213824., 5356416., 5499008., 5641600., 5784192.,
      5926784., 6069376., 6211968., 6354560., 4366088., 4508936., 4651784.,
      4794632., 4937480., 5080328., 5223176., 5366024., 5508872., 5651720.,
      5794568., 5937416., 6080264., 6223112., 6365960., 4373904., 4517008.,
      4660112., 4803216., 4946320., 5089424., 5232528., 5375632., 5518736.,
      5661840., 5804944., 5948048., 6091152., 6234256., 6377360., 4381720.,
      4525080., 4668440., 4811800., 4955160., 5098520., 5241880., 5385240.,
      5528600., 5671960., 5815320., 5958680., 6102040., 6245400., 6388760.,
      4389536., 4533152., 4676768., 4820384., 4964000., 5107616., 5251232.,
      5394848., 5538464., 5682080., 5825696., 5969312., 6112928., 6256544.,
      6400160., 4397352., 4541224., 4685096., 4828968., 4972840., 5116712.,
      5260584., 5404456., 5548328., 5692200., 5836072., 5979944., 6123816.,
      6267688., 6411560., 4405168., 4549296., 4693424., 4837552., 4981680.,
      5125808., 5269936., 5414064., 5558192., 5702320., 5846448., 5990576.,
      6134704., 6278832., 6422960., 4412984., 4557368., 4701752., 4846136.,
      4990520., 5134904., 5279288., 5423672., 5568056., 5712440., 5856824.,
      6001208., 6145592., 6289976., 6434360., 4420800., 4565440., 4710080.,
      4854720., 4999360., 5144000., 5288640., 5433280., 5577920., 5722560.,
      5867200., 6011840., 6156480., 6301120., 6445760., 4428616., 4573512.,
      4718408., 4863304., 5008200., 5153096., 5297992., 5442888., 5587784.,
      5732680., 5877576., 6022472., 6167368., 6312264., 6457160., 4436432.,
      4581584., 4726736., 4871888., 5017040., 5162192., 5307344., 5452496.,
      5597648., 5742800., 5887952., 6033104., 6178256., 6323408., 6468560.};
  const int batches = 3;
  const int m = 14;
  const int k = 16;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M14xK16xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      19176.,   46312.,   73448.,   100584.,  127720.,  154856.,  181992.,
      209128.,  236264.,  263400.,  290536.,  317672.,  344808.,  371944.,
      399080.,  426216.,  19312.,   46704.,   74096.,   101488.,  128880.,
      156272.,  183664.,  211056.,  238448.,  265840.,  293232.,  320624.,
      348016.,  375408.,  402800.,  430192.,  19448.,   47096.,   74744.,
      102392.,  130040.,  157688.,  185336.,  212984.,  240632.,  268280.,
      295928.,  323576.,  351224.,  378872.,  406520.,  434168.,  19584.,
      47488.,   75392.,   103296.,  131200.,  159104.,  187008.,  214912.,
      242816.,  270720.,  298624.,  326528.,  354432.,  382336.,  410240.,
      438144.,  19720.,   47880.,   76040.,   104200.,  132360.,  160520.,
      188680.,  216840.,  245000.,  273160.,  301320.,  329480.,  357640.,
      385800.,  413960.,  442120.,  19856.,   48272.,   76688.,   105104.,
      133520.,  161936.,  190352.,  218768.,  247184.,  275600.,  304016.,
      332432.,  360848.,  389264.,  417680.,  446096.,  19992.,   48664.,
      77336.,   106008.,  134680.,  163352.,  192024.,  220696.,  249368.,
      278040.,  306712.,  335384.,  364056.,  392728.,  421400.,  450072.,
      20128.,   49056.,   77984.,   106912.,  135840.,  164768.,  193696.,
      222624.,  251552.,  280480.,  309408.,  338336.,  367264.,  396192.,
      425120.,  454048.,  20264.,   49448.,   78632.,   107816.,  137000.,
      166184.,  195368.,  224552.,  253736.,  282920.,  312104.,  341288.,
      370472.,  399656.,  428840.,  458024.,  20400.,   49840.,   79280.,
      108720.,  138160.,  167600.,  197040.,  226480.,  255920.,  285360.,
      314800.,  344240.,  373680.,  403120.,  432560.,  462000.,  20536.,
      50232.,   79928.,   109624.,  139320.,  169016.,  198712.,  228408.,
      258104.,  287800.,  317496.,  347192.,  376888.,  406584.,  436280.,
      465976.,  20672.,   50624.,   80576.,   110528.,  140480.,  170432.,
      200384.,  230336.,  260288.,  290240.,  320192.,  350144.,  380096.,
      410048.,  440000.,  469952.,  20808.,   51016.,   81224.,   111432.,
      141640.,  171848.,  202056.,  232264.,  262472.,  292680.,  322888.,
      353096.,  383304.,  413512.,  443720.,  473928.,  20944.,   51408.,
      81872.,   112336.,  142800.,  173264.,  203728.,  234192.,  264656.,
      295120.,  325584.,  356048.,  386512.,  416976.,  447440.,  477904.,
      1401320., 1485800., 1570280., 1654760., 1739240., 1823720., 1908200.,
      1992680., 2077160., 2161640., 2246120., 2330600., 2415080., 2499560.,
      2584040., 2668520., 1405552., 1490288., 1575024., 1659760., 1744496.,
      1829232., 1913968., 1998704., 2083440., 2168176., 2252912., 2337648.,
      2422384., 2507120., 2591856., 2676592., 1409784., 1494776., 1579768.,
      1664760., 1749752., 1834744., 1919736., 2004728., 2089720., 2174712.,
      2259704., 2344696., 2429688., 2514680., 2599672., 2684664., 1414016.,
      1499264., 1584512., 1669760., 1755008., 1840256., 1925504., 2010752.,
      2096000., 2181248., 2266496., 2351744., 2436992., 2522240., 2607488.,
      2692736., 1418248., 1503752., 1589256., 1674760., 1760264., 1845768.,
      1931272., 2016776., 2102280., 2187784., 2273288., 2358792., 2444296.,
      2529800., 2615304., 2700808., 1422480., 1508240., 1594000., 1679760.,
      1765520., 1851280., 1937040., 2022800., 2108560., 2194320., 2280080.,
      2365840., 2451600., 2537360., 2623120., 2708880., 1426712., 1512728.,
      1598744., 1684760., 1770776., 1856792., 1942808., 2028824., 2114840.,
      2200856., 2286872., 2372888., 2458904., 2544920., 2630936., 2716952.,
      1430944., 1517216., 1603488., 1689760., 1776032., 1862304., 1948576.,
      2034848., 2121120., 2207392., 2293664., 2379936., 2466208., 2552480.,
      2638752., 2725024., 1435176., 1521704., 1608232., 1694760., 1781288.,
      1867816., 1954344., 2040872., 2127400., 2213928., 2300456., 2386984.,
      2473512., 2560040., 2646568., 2733096., 1439408., 1526192., 1612976.,
      1699760., 1786544., 1873328., 1960112., 2046896., 2133680., 2220464.,
      2307248., 2394032., 2480816., 2567600., 2654384., 2741168., 1443640.,
      1530680., 1617720., 1704760., 1791800., 1878840., 1965880., 2052920.,
      2139960., 2227000., 2314040., 2401080., 2488120., 2575160., 2662200.,
      2749240., 1447872., 1535168., 1622464., 1709760., 1797056., 1884352.,
      1971648., 2058944., 2146240., 2233536., 2320832., 2408128., 2495424.,
      2582720., 2670016., 2757312., 1452104., 1539656., 1627208., 1714760.,
      1802312., 1889864., 1977416., 2064968., 2152520., 2240072., 2327624.,
      2415176., 2502728., 2590280., 2677832., 2765384., 1456336., 1544144.,
      1631952., 1719760., 1807568., 1895376., 1983184., 2070992., 2158800.,
      2246608., 2334416., 2422224., 2510032., 2597840., 2685648., 2773456.,
      4618472., 4760296., 4902120., 5043944., 5185768., 5327592., 5469416.,
      5611240., 5753064., 5894888., 6036712., 6178536., 6320360., 6462184.,
      6604008., 6745832., 4626800., 4768880., 4910960., 5053040., 5195120.,
      5337200., 5479280., 5621360., 5763440., 5905520., 6047600., 6189680.,
      6331760., 6473840., 6615920., 6758000., 4635128., 4777464., 4919800.,
      5062136., 5204472., 5346808., 5489144., 5631480., 5773816., 5916152.,
      6058488., 6200824., 6343160., 6485496., 6627832., 6770168., 4643456.,
      4786048., 4928640., 5071232., 5213824., 5356416., 5499008., 5641600.,
      5784192., 5926784., 6069376., 6211968., 6354560., 6497152., 6639744.,
      6782336., 4651784., 4794632., 4937480., 5080328., 5223176., 5366024.,
      5508872., 5651720., 5794568., 5937416., 6080264., 6223112., 6365960.,
      6508808., 6651656., 6794504., 4660112., 4803216., 4946320., 5089424.,
      5232528., 5375632., 5518736., 5661840., 5804944., 5948048., 6091152.,
      6234256., 6377360., 6520464., 6663568., 6806672., 4668440., 4811800.,
      4955160., 5098520., 5241880., 5385240., 5528600., 5671960., 5815320.,
      5958680., 6102040., 6245400., 6388760., 6532120., 6675480., 6818840.,
      4676768., 4820384., 4964000., 5107616., 5251232., 5394848., 5538464.,
      5682080., 5825696., 5969312., 6112928., 6256544., 6400160., 6543776.,
      6687392., 6831008., 4685096., 4828968., 4972840., 5116712., 5260584.,
      5404456., 5548328., 5692200., 5836072., 5979944., 6123816., 6267688.,
      6411560., 6555432., 6699304., 6843176., 4693424., 4837552., 4981680.,
      5125808., 5269936., 5414064., 5558192., 5702320., 5846448., 5990576.,
      6134704., 6278832., 6422960., 6567088., 6711216., 6855344., 4701752.,
      4846136., 4990520., 5134904., 5279288., 5423672., 5568056., 5712440.,
      5856824., 6001208., 6145592., 6289976., 6434360., 6578744., 6723128.,
      6867512., 4710080., 4854720., 4999360., 5144000., 5288640., 5433280.,
      5577920., 5722560., 5867200., 6011840., 6156480., 6301120., 6445760.,
      6590400., 6735040., 6879680., 4718408., 4863304., 5008200., 5153096.,
      5297992., 5442888., 5587784., 5732680., 5877576., 6022472., 6167368.,
      6312264., 6457160., 6602056., 6746952., 6891848., 4726736., 4871888.,
      5017040., 5162192., 5307344., 5452496., 5597648., 5742800., 5887952.,
      6033104., 6178256., 6323408., 6468560., 6613712., 6758864., 6904016.};
  const int batches = 3;
  const int m = 14;
  const int k = 16;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M15xK14xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      13755.,   33061.,   52367.,   71673.,   90979.,   110285.,  129591.,
      148897.,  168203.,  187509.,  206815.,  226121.,  245427.,  264733.,
      13860.,   33362.,   52864.,   72366.,   91868.,   111370.,  130872.,
      150374.,  169876.,  189378.,  208880.,  228382.,  247884.,  267386.,
      13965.,   33663.,   53361.,   73059.,   92757.,   112455.,  132153.,
      151851.,  171549.,  191247.,  210945.,  230643.,  250341.,  270039.,
      14070.,   33964.,   53858.,   73752.,   93646.,   113540.,  133434.,
      153328.,  173222.,  193116.,  213010.,  232904.,  252798.,  272692.,
      14175.,   34265.,   54355.,   74445.,   94535.,   114625.,  134715.,
      154805.,  174895.,  194985.,  215075.,  235165.,  255255.,  275345.,
      14280.,   34566.,   54852.,   75138.,   95424.,   115710.,  135996.,
      156282.,  176568.,  196854.,  217140.,  237426.,  257712.,  277998.,
      14385.,   34867.,   55349.,   75831.,   96313.,   116795.,  137277.,
      157759.,  178241.,  198723.,  219205.,  239687.,  260169.,  280651.,
      14490.,   35168.,   55846.,   76524.,   97202.,   117880.,  138558.,
      159236.,  179914.,  200592.,  221270.,  241948.,  262626.,  283304.,
      14595.,   35469.,   56343.,   77217.,   98091.,   118965.,  139839.,
      160713.,  181587.,  202461.,  223335.,  244209.,  265083.,  285957.,
      14700.,   35770.,   56840.,   77910.,   98980.,   120050.,  141120.,
      162190.,  183260.,  204330.,  225400.,  246470.,  267540.,  288610.,
      14805.,   36071.,   57337.,   78603.,   99869.,   121135.,  142401.,
      163667.,  184933.,  206199.,  227465.,  248731.,  269997.,  291263.,
      14910.,   36372.,   57834.,   79296.,   100758.,  122220.,  143682.,
      165144.,  186606.,  208068.,  229530.,  250992.,  272454.,  293916.,
      15015.,   36673.,   58331.,   79989.,   101647.,  123305.,  144963.,
      166621.,  188279.,  209937.,  231595.,  253253.,  274911.,  296569.,
      15120.,   36974.,   58828.,   80682.,   102536.,  124390.,  146244.,
      168098.,  189952.,  211806.,  233660.,  255514.,  277368.,  299222.,
      15225.,   37275.,   59325.,   81375.,   103425.,  125475.,  147525.,
      169575.,  191625.,  213675.,  235725.,  257775.,  279825.,  301875.,
      882329.,  942795.,  1003261., 1063727., 1124193., 1184659., 1245125.,
      1305591., 1366057., 1426523., 1486989., 1547455., 1607921., 1668387.,
      885178.,  945840.,  1006502., 1067164., 1127826., 1188488., 1249150.,
      1309812., 1370474., 1431136., 1491798., 1552460., 1613122., 1673784.,
      888027.,  948885.,  1009743., 1070601., 1131459., 1192317., 1253175.,
      1314033., 1374891., 1435749., 1496607., 1557465., 1618323., 1679181.,
      890876.,  951930.,  1012984., 1074038., 1135092., 1196146., 1257200.,
      1318254., 1379308., 1440362., 1501416., 1562470., 1623524., 1684578.,
      893725.,  954975.,  1016225., 1077475., 1138725., 1199975., 1261225.,
      1322475., 1383725., 1444975., 1506225., 1567475., 1628725., 1689975.,
      896574.,  958020.,  1019466., 1080912., 1142358., 1203804., 1265250.,
      1326696., 1388142., 1449588., 1511034., 1572480., 1633926., 1695372.,
      899423.,  961065.,  1022707., 1084349., 1145991., 1207633., 1269275.,
      1330917., 1392559., 1454201., 1515843., 1577485., 1639127., 1700769.,
      902272.,  964110.,  1025948., 1087786., 1149624., 1211462., 1273300.,
      1335138., 1396976., 1458814., 1520652., 1582490., 1644328., 1706166.,
      905121.,  967155.,  1029189., 1091223., 1153257., 1215291., 1277325.,
      1339359., 1401393., 1463427., 1525461., 1587495., 1649529., 1711563.,
      907970.,  970200.,  1032430., 1094660., 1156890., 1219120., 1281350.,
      1343580., 1405810., 1468040., 1530270., 1592500., 1654730., 1716960.,
      910819.,  973245.,  1035671., 1098097., 1160523., 1222949., 1285375.,
      1347801., 1410227., 1472653., 1535079., 1597505., 1659931., 1722357.,
      913668.,  976290.,  1038912., 1101534., 1164156., 1226778., 1289400.,
      1352022., 1414644., 1477266., 1539888., 1602510., 1665132., 1727754.,
      916517.,  979335.,  1042153., 1104971., 1167789., 1230607., 1293425.,
      1356243., 1419061., 1481879., 1544697., 1607515., 1670333., 1733151.,
      919366.,  982380.,  1045394., 1108408., 1171422., 1234436., 1297450.,
      1360464., 1423478., 1486492., 1549506., 1612520., 1675534., 1738548.,
      922215.,  985425.,  1048635., 1111845., 1175055., 1238265., 1301475.,
      1364685., 1427895., 1491105., 1554315., 1617525., 1680735., 1743945.,
      2903383., 3005009., 3106635., 3208261., 3309887., 3411513., 3513139.,
      3614765., 3716391., 3818017., 3919643., 4021269., 4122895., 4224521.,
      2908976., 3010798., 3112620., 3214442., 3316264., 3418086., 3519908.,
      3621730., 3723552., 3825374., 3927196., 4029018., 4130840., 4232662.,
      2914569., 3016587., 3118605., 3220623., 3322641., 3424659., 3526677.,
      3628695., 3730713., 3832731., 3934749., 4036767., 4138785., 4240803.,
      2920162., 3022376., 3124590., 3226804., 3329018., 3431232., 3533446.,
      3635660., 3737874., 3840088., 3942302., 4044516., 4146730., 4248944.,
      2925755., 3028165., 3130575., 3232985., 3335395., 3437805., 3540215.,
      3642625., 3745035., 3847445., 3949855., 4052265., 4154675., 4257085.,
      2931348., 3033954., 3136560., 3239166., 3341772., 3444378., 3546984.,
      3649590., 3752196., 3854802., 3957408., 4060014., 4162620., 4265226.,
      2936941., 3039743., 3142545., 3245347., 3348149., 3450951., 3553753.,
      3656555., 3759357., 3862159., 3964961., 4067763., 4170565., 4273367.,
      2942534., 3045532., 3148530., 3251528., 3354526., 3457524., 3560522.,
      3663520., 3766518., 3869516., 3972514., 4075512., 4178510., 4281508.,
      2948127., 3051321., 3154515., 3257709., 3360903., 3464097., 3567291.,
      3670485., 3773679., 3876873., 3980067., 4083261., 4186455., 4289649.,
      2953720., 3057110., 3160500., 3263890., 3367280., 3470670., 3574060.,
      3677450., 3780840., 3884230., 3987620., 4091010., 4194400., 4297790.,
      2959313., 3062899., 3166485., 3270071., 3373657., 3477243., 3580829.,
      3684415., 3788001., 3891587., 3995173., 4098759., 4202345., 4305931.,
      2964906., 3068688., 3172470., 3276252., 3380034., 3483816., 3587598.,
      3691380., 3795162., 3898944., 4002726., 4106508., 4210290., 4314072.,
      2970499., 3074477., 3178455., 3282433., 3386411., 3490389., 3594367.,
      3698345., 3802323., 3906301., 4010279., 4114257., 4218235., 4322213.,
      2976092., 3080266., 3184440., 3288614., 3392788., 3496962., 3601136.,
      3705310., 3809484., 3913658., 4017832., 4122006., 4226180., 4330354.,
      2981685., 3086055., 3190425., 3294795., 3399165., 3503535., 3607905.,
      3712275., 3816645., 3921015., 4025385., 4129755., 4234125., 4338495.};
  const int batches = 3;
  const int m = 15;
  const int k = 14;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M15xK14xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      13755.,   33061.,   52367.,   71673.,   90979.,   110285.,  129591.,
      148897.,  168203.,  187509.,  206815.,  226121.,  245427.,  264733.,
      284039.,  13860.,   33362.,   52864.,   72366.,   91868.,   111370.,
      130872.,  150374.,  169876.,  189378.,  208880.,  228382.,  247884.,
      267386.,  286888.,  13965.,   33663.,   53361.,   73059.,   92757.,
      112455.,  132153.,  151851.,  171549.,  191247.,  210945.,  230643.,
      250341.,  270039.,  289737.,  14070.,   33964.,   53858.,   73752.,
      93646.,   113540.,  133434.,  153328.,  173222.,  193116.,  213010.,
      232904.,  252798.,  272692.,  292586.,  14175.,   34265.,   54355.,
      74445.,   94535.,   114625.,  134715.,  154805.,  174895.,  194985.,
      215075.,  235165.,  255255.,  275345.,  295435.,  14280.,   34566.,
      54852.,   75138.,   95424.,   115710.,  135996.,  156282.,  176568.,
      196854.,  217140.,  237426.,  257712.,  277998.,  298284.,  14385.,
      34867.,   55349.,   75831.,   96313.,   116795.,  137277.,  157759.,
      178241.,  198723.,  219205.,  239687.,  260169.,  280651.,  301133.,
      14490.,   35168.,   55846.,   76524.,   97202.,   117880.,  138558.,
      159236.,  179914.,  200592.,  221270.,  241948.,  262626.,  283304.,
      303982.,  14595.,   35469.,   56343.,   77217.,   98091.,   118965.,
      139839.,  160713.,  181587.,  202461.,  223335.,  244209.,  265083.,
      285957.,  306831.,  14700.,   35770.,   56840.,   77910.,   98980.,
      120050.,  141120.,  162190.,  183260.,  204330.,  225400.,  246470.,
      267540.,  288610.,  309680.,  14805.,   36071.,   57337.,   78603.,
      99869.,   121135.,  142401.,  163667.,  184933.,  206199.,  227465.,
      248731.,  269997.,  291263.,  312529.,  14910.,   36372.,   57834.,
      79296.,   100758.,  122220.,  143682.,  165144.,  186606.,  208068.,
      229530.,  250992.,  272454.,  293916.,  315378.,  15015.,   36673.,
      58331.,   79989.,   101647.,  123305.,  144963.,  166621.,  188279.,
      209937.,  231595.,  253253.,  274911.,  296569.,  318227.,  15120.,
      36974.,   58828.,   80682.,   102536.,  124390.,  146244.,  168098.,
      189952.,  211806.,  233660.,  255514.,  277368.,  299222.,  321076.,
      15225.,   37275.,   59325.,   81375.,   103425.,  125475.,  147525.,
      169575.,  191625.,  213675.,  235725.,  257775.,  279825.,  301875.,
      323925.,  942795.,  1003261., 1063727., 1124193., 1184659., 1245125.,
      1305591., 1366057., 1426523., 1486989., 1547455., 1607921., 1668387.,
      1728853., 1789319., 945840.,  1006502., 1067164., 1127826., 1188488.,
      1249150., 1309812., 1370474., 1431136., 1491798., 1552460., 1613122.,
      1673784., 1734446., 1795108., 948885.,  1009743., 1070601., 1131459.,
      1192317., 1253175., 1314033., 1374891., 1435749., 1496607., 1557465.,
      1618323., 1679181., 1740039., 1800897., 951930.,  1012984., 1074038.,
      1135092., 1196146., 1257200., 1318254., 1379308., 1440362., 1501416.,
      1562470., 1623524., 1684578., 1745632., 1806686., 954975.,  1016225.,
      1077475., 1138725., 1199975., 1261225., 1322475., 1383725., 1444975.,
      1506225., 1567475., 1628725., 1689975., 1751225., 1812475., 958020.,
      1019466., 1080912., 1142358., 1203804., 1265250., 1326696., 1388142.,
      1449588., 1511034., 1572480., 1633926., 1695372., 1756818., 1818264.,
      961065.,  1022707., 1084349., 1145991., 1207633., 1269275., 1330917.,
      1392559., 1454201., 1515843., 1577485., 1639127., 1700769., 1762411.,
      1824053., 964110.,  1025948., 1087786., 1149624., 1211462., 1273300.,
      1335138., 1396976., 1458814., 1520652., 1582490., 1644328., 1706166.,
      1768004., 1829842., 967155.,  1029189., 1091223., 1153257., 1215291.,
      1277325., 1339359., 1401393., 1463427., 1525461., 1587495., 1649529.,
      1711563., 1773597., 1835631., 970200.,  1032430., 1094660., 1156890.,
      1219120., 1281350., 1343580., 1405810., 1468040., 1530270., 1592500.,
      1654730., 1716960., 1779190., 1841420., 973245.,  1035671., 1098097.,
      1160523., 1222949., 1285375., 1347801., 1410227., 1472653., 1535079.,
      1597505., 1659931., 1722357., 1784783., 1847209., 976290.,  1038912.,
      1101534., 1164156., 1226778., 1289400., 1352022., 1414644., 1477266.,
      1539888., 1602510., 1665132., 1727754., 1790376., 1852998., 979335.,
      1042153., 1104971., 1167789., 1230607., 1293425., 1356243., 1419061.,
      1481879., 1544697., 1607515., 1670333., 1733151., 1795969., 1858787.,
      982380.,  1045394., 1108408., 1171422., 1234436., 1297450., 1360464.,
      1423478., 1486492., 1549506., 1612520., 1675534., 1738548., 1801562.,
      1864576., 985425.,  1048635., 1111845., 1175055., 1238265., 1301475.,
      1364685., 1427895., 1491105., 1554315., 1617525., 1680735., 1743945.,
      1807155., 1870365., 3106635., 3208261., 3309887., 3411513., 3513139.,
      3614765., 3716391., 3818017., 3919643., 4021269., 4122895., 4224521.,
      4326147., 4427773., 4529399., 3112620., 3214442., 3316264., 3418086.,
      3519908., 3621730., 3723552., 3825374., 3927196., 4029018., 4130840.,
      4232662., 4334484., 4436306., 4538128., 3118605., 3220623., 3322641.,
      3424659., 3526677., 3628695., 3730713., 3832731., 3934749., 4036767.,
      4138785., 4240803., 4342821., 4444839., 4546857., 3124590., 3226804.,
      3329018., 3431232., 3533446., 3635660., 3737874., 3840088., 3942302.,
      4044516., 4146730., 4248944., 4351158., 4453372., 4555586., 3130575.,
      3232985., 3335395., 3437805., 3540215., 3642625., 3745035., 3847445.,
      3949855., 4052265., 4154675., 4257085., 4359495., 4461905., 4564315.,
      3136560., 3239166., 3341772., 3444378., 3546984., 3649590., 3752196.,
      3854802., 3957408., 4060014., 4162620., 4265226., 4367832., 4470438.,
      4573044., 3142545., 3245347., 3348149., 3450951., 3553753., 3656555.,
      3759357., 3862159., 3964961., 4067763., 4170565., 4273367., 4376169.,
      4478971., 4581773., 3148530., 3251528., 3354526., 3457524., 3560522.,
      3663520., 3766518., 3869516., 3972514., 4075512., 4178510., 4281508.,
      4384506., 4487504., 4590502., 3154515., 3257709., 3360903., 3464097.,
      3567291., 3670485., 3773679., 3876873., 3980067., 4083261., 4186455.,
      4289649., 4392843., 4496037., 4599231., 3160500., 3263890., 3367280.,
      3470670., 3574060., 3677450., 3780840., 3884230., 3987620., 4091010.,
      4194400., 4297790., 4401180., 4504570., 4607960., 3166485., 3270071.,
      3373657., 3477243., 3580829., 3684415., 3788001., 3891587., 3995173.,
      4098759., 4202345., 4305931., 4409517., 4513103., 4616689., 3172470.,
      3276252., 3380034., 3483816., 3587598., 3691380., 3795162., 3898944.,
      4002726., 4106508., 4210290., 4314072., 4417854., 4521636., 4625418.,
      3178455., 3282433., 3386411., 3490389., 3594367., 3698345., 3802323.,
      3906301., 4010279., 4114257., 4218235., 4322213., 4426191., 4530169.,
      4634147., 3184440., 3288614., 3392788., 3496962., 3601136., 3705310.,
      3809484., 3913658., 4017832., 4122006., 4226180., 4330354., 4434528.,
      4538702., 4642876., 3190425., 3294795., 3399165., 3503535., 3607905.,
      3712275., 3816645., 3921015., 4025385., 4129755., 4234125., 4338495.,
      4442865., 4547235., 4651605.};
  const int batches = 3;
  const int m = 15;
  const int k = 14;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M15xK14xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      13755.,   33061.,   52367.,   71673.,   90979.,   110285.,  129591.,
      148897.,  168203.,  187509.,  206815.,  226121.,  245427.,  264733.,
      284039.,  303345.,  13860.,   33362.,   52864.,   72366.,   91868.,
      111370.,  130872.,  150374.,  169876.,  189378.,  208880.,  228382.,
      247884.,  267386.,  286888.,  306390.,  13965.,   33663.,   53361.,
      73059.,   92757.,   112455.,  132153.,  151851.,  171549.,  191247.,
      210945.,  230643.,  250341.,  270039.,  289737.,  309435.,  14070.,
      33964.,   53858.,   73752.,   93646.,   113540.,  133434.,  153328.,
      173222.,  193116.,  213010.,  232904.,  252798.,  272692.,  292586.,
      312480.,  14175.,   34265.,   54355.,   74445.,   94535.,   114625.,
      134715.,  154805.,  174895.,  194985.,  215075.,  235165.,  255255.,
      275345.,  295435.,  315525.,  14280.,   34566.,   54852.,   75138.,
      95424.,   115710.,  135996.,  156282.,  176568.,  196854.,  217140.,
      237426.,  257712.,  277998.,  298284.,  318570.,  14385.,   34867.,
      55349.,   75831.,   96313.,   116795.,  137277.,  157759.,  178241.,
      198723.,  219205.,  239687.,  260169.,  280651.,  301133.,  321615.,
      14490.,   35168.,   55846.,   76524.,   97202.,   117880.,  138558.,
      159236.,  179914.,  200592.,  221270.,  241948.,  262626.,  283304.,
      303982.,  324660.,  14595.,   35469.,   56343.,   77217.,   98091.,
      118965.,  139839.,  160713.,  181587.,  202461.,  223335.,  244209.,
      265083.,  285957.,  306831.,  327705.,  14700.,   35770.,   56840.,
      77910.,   98980.,   120050.,  141120.,  162190.,  183260.,  204330.,
      225400.,  246470.,  267540.,  288610.,  309680.,  330750.,  14805.,
      36071.,   57337.,   78603.,   99869.,   121135.,  142401.,  163667.,
      184933.,  206199.,  227465.,  248731.,  269997.,  291263.,  312529.,
      333795.,  14910.,   36372.,   57834.,   79296.,   100758.,  122220.,
      143682.,  165144.,  186606.,  208068.,  229530.,  250992.,  272454.,
      293916.,  315378.,  336840.,  15015.,   36673.,   58331.,   79989.,
      101647.,  123305.,  144963.,  166621.,  188279.,  209937.,  231595.,
      253253.,  274911.,  296569.,  318227.,  339885.,  15120.,   36974.,
      58828.,   80682.,   102536.,  124390.,  146244.,  168098.,  189952.,
      211806.,  233660.,  255514.,  277368.,  299222.,  321076.,  342930.,
      15225.,   37275.,   59325.,   81375.,   103425.,  125475.,  147525.,
      169575.,  191625.,  213675.,  235725.,  257775.,  279825.,  301875.,
      323925.,  345975.,  1003261., 1063727., 1124193., 1184659., 1245125.,
      1305591., 1366057., 1426523., 1486989., 1547455., 1607921., 1668387.,
      1728853., 1789319., 1849785., 1910251., 1006502., 1067164., 1127826.,
      1188488., 1249150., 1309812., 1370474., 1431136., 1491798., 1552460.,
      1613122., 1673784., 1734446., 1795108., 1855770., 1916432., 1009743.,
      1070601., 1131459., 1192317., 1253175., 1314033., 1374891., 1435749.,
      1496607., 1557465., 1618323., 1679181., 1740039., 1800897., 1861755.,
      1922613., 1012984., 1074038., 1135092., 1196146., 1257200., 1318254.,
      1379308., 1440362., 1501416., 1562470., 1623524., 1684578., 1745632.,
      1806686., 1867740., 1928794., 1016225., 1077475., 1138725., 1199975.,
      1261225., 1322475., 1383725., 1444975., 1506225., 1567475., 1628725.,
      1689975., 1751225., 1812475., 1873725., 1934975., 1019466., 1080912.,
      1142358., 1203804., 1265250., 1326696., 1388142., 1449588., 1511034.,
      1572480., 1633926., 1695372., 1756818., 1818264., 1879710., 1941156.,
      1022707., 1084349., 1145991., 1207633., 1269275., 1330917., 1392559.,
      1454201., 1515843., 1577485., 1639127., 1700769., 1762411., 1824053.,
      1885695., 1947337., 1025948., 1087786., 1149624., 1211462., 1273300.,
      1335138., 1396976., 1458814., 1520652., 1582490., 1644328., 1706166.,
      1768004., 1829842., 1891680., 1953518., 1029189., 1091223., 1153257.,
      1215291., 1277325., 1339359., 1401393., 1463427., 1525461., 1587495.,
      1649529., 1711563., 1773597., 1835631., 1897665., 1959699., 1032430.,
      1094660., 1156890., 1219120., 1281350., 1343580., 1405810., 1468040.,
      1530270., 1592500., 1654730., 1716960., 1779190., 1841420., 1903650.,
      1965880., 1035671., 1098097., 1160523., 1222949., 1285375., 1347801.,
      1410227., 1472653., 1535079., 1597505., 1659931., 1722357., 1784783.,
      1847209., 1909635., 1972061., 1038912., 1101534., 1164156., 1226778.,
      1289400., 1352022., 1414644., 1477266., 1539888., 1602510., 1665132.,
      1727754., 1790376., 1852998., 1915620., 1978242., 1042153., 1104971.,
      1167789., 1230607., 1293425., 1356243., 1419061., 1481879., 1544697.,
      1607515., 1670333., 1733151., 1795969., 1858787., 1921605., 1984423.,
      1045394., 1108408., 1171422., 1234436., 1297450., 1360464., 1423478.,
      1486492., 1549506., 1612520., 1675534., 1738548., 1801562., 1864576.,
      1927590., 1990604., 1048635., 1111845., 1175055., 1238265., 1301475.,
      1364685., 1427895., 1491105., 1554315., 1617525., 1680735., 1743945.,
      1807155., 1870365., 1933575., 1996785., 3309887., 3411513., 3513139.,
      3614765., 3716391., 3818017., 3919643., 4021269., 4122895., 4224521.,
      4326147., 4427773., 4529399., 4631025., 4732651., 4834277., 3316264.,
      3418086., 3519908., 3621730., 3723552., 3825374., 3927196., 4029018.,
      4130840., 4232662., 4334484., 4436306., 4538128., 4639950., 4741772.,
      4843594., 3322641., 3424659., 3526677., 3628695., 3730713., 3832731.,
      3934749., 4036767., 4138785., 4240803., 4342821., 4444839., 4546857.,
      4648875., 4750893., 4852911., 3329018., 3431232., 3533446., 3635660.,
      3737874., 3840088., 3942302., 4044516., 4146730., 4248944., 4351158.,
      4453372., 4555586., 4657800., 4760014., 4862228., 3335395., 3437805.,
      3540215., 3642625., 3745035., 3847445., 3949855., 4052265., 4154675.,
      4257085., 4359495., 4461905., 4564315., 4666725., 4769135., 4871545.,
      3341772., 3444378., 3546984., 3649590., 3752196., 3854802., 3957408.,
      4060014., 4162620., 4265226., 4367832., 4470438., 4573044., 4675650.,
      4778256., 4880862., 3348149., 3450951., 3553753., 3656555., 3759357.,
      3862159., 3964961., 4067763., 4170565., 4273367., 4376169., 4478971.,
      4581773., 4684575., 4787377., 4890179., 3354526., 3457524., 3560522.,
      3663520., 3766518., 3869516., 3972514., 4075512., 4178510., 4281508.,
      4384506., 4487504., 4590502., 4693500., 4796498., 4899496., 3360903.,
      3464097., 3567291., 3670485., 3773679., 3876873., 3980067., 4083261.,
      4186455., 4289649., 4392843., 4496037., 4599231., 4702425., 4805619.,
      4908813., 3367280., 3470670., 3574060., 3677450., 3780840., 3884230.,
      3987620., 4091010., 4194400., 4297790., 4401180., 4504570., 4607960.,
      4711350., 4814740., 4918130., 3373657., 3477243., 3580829., 3684415.,
      3788001., 3891587., 3995173., 4098759., 4202345., 4305931., 4409517.,
      4513103., 4616689., 4720275., 4823861., 4927447., 3380034., 3483816.,
      3587598., 3691380., 3795162., 3898944., 4002726., 4106508., 4210290.,
      4314072., 4417854., 4521636., 4625418., 4729200., 4832982., 4936764.,
      3386411., 3490389., 3594367., 3698345., 3802323., 3906301., 4010279.,
      4114257., 4218235., 4322213., 4426191., 4530169., 4634147., 4738125.,
      4842103., 4946081., 3392788., 3496962., 3601136., 3705310., 3809484.,
      3913658., 4017832., 4122006., 4226180., 4330354., 4434528., 4538702.,
      4642876., 4747050., 4851224., 4955398., 3399165., 3503535., 3607905.,
      3712275., 3816645., 3921015., 4025385., 4129755., 4234125., 4338495.,
      4442865., 4547235., 4651605., 4755975., 4860345., 4964715.};
  const int batches = 3;
  const int m = 15;
  const int k = 14;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M15xK15xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      16920.,   40770.,   64620.,   88470.,   112320.,  136170.,  160020.,
      183870.,  207720.,  231570.,  255420.,  279270.,  303120.,  326970.,
      17040.,   41115.,   65190.,   89265.,   113340.,  137415.,  161490.,
      185565.,  209640.,  233715.,  257790.,  281865.,  305940.,  330015.,
      17160.,   41460.,   65760.,   90060.,   114360.,  138660.,  162960.,
      187260.,  211560.,  235860.,  260160.,  284460.,  308760.,  333060.,
      17280.,   41805.,   66330.,   90855.,   115380.,  139905.,  164430.,
      188955.,  213480.,  238005.,  262530.,  287055.,  311580.,  336105.,
      17400.,   42150.,   66900.,   91650.,   116400.,  141150.,  165900.,
      190650.,  215400.,  240150.,  264900.,  289650.,  314400.,  339150.,
      17520.,   42495.,   67470.,   92445.,   117420.,  142395.,  167370.,
      192345.,  217320.,  242295.,  267270.,  292245.,  317220.,  342195.,
      17640.,   42840.,   68040.,   93240.,   118440.,  143640.,  168840.,
      194040.,  219240.,  244440.,  269640.,  294840.,  320040.,  345240.,
      17760.,   43185.,   68610.,   94035.,   119460.,  144885.,  170310.,
      195735.,  221160.,  246585.,  272010.,  297435.,  322860.,  348285.,
      17880.,   43530.,   69180.,   94830.,   120480.,  146130.,  171780.,
      197430.,  223080.,  248730.,  274380.,  300030.,  325680.,  351330.,
      18000.,   43875.,   69750.,   95625.,   121500.,  147375.,  173250.,
      199125.,  225000.,  250875.,  276750.,  302625.,  328500.,  354375.,
      18120.,   44220.,   70320.,   96420.,   122520.,  148620.,  174720.,
      200820.,  226920.,  253020.,  279120.,  305220.,  331320.,  357420.,
      18240.,   44565.,   70890.,   97215.,   123540.,  149865.,  176190.,
      202515.,  228840.,  255165.,  281490.,  307815.,  334140.,  360465.,
      18360.,   44910.,   71460.,   98010.,   124560.,  151110.,  177660.,
      204210.,  230760.,  257310.,  283860.,  310410.,  336960.,  363510.,
      18480.,   45255.,   72030.,   98805.,   125580.,  152355.,  179130.,
      205905.,  232680.,  259455.,  286230.,  313005.,  339780.,  366555.,
      18600.,   45600.,   72600.,   99600.,   126600.,  153600.,  180600.,
      207600.,  234600.,  261600.,  288600.,  315600.,  342600.,  369600.,
      1086570., 1161045., 1235520., 1309995., 1384470., 1458945., 1533420.,
      1607895., 1682370., 1756845., 1831320., 1905795., 1980270., 2054745.,
      1089840., 1164540., 1239240., 1313940., 1388640., 1463340., 1538040.,
      1612740., 1687440., 1762140., 1836840., 1911540., 1986240., 2060940.,
      1093110., 1168035., 1242960., 1317885., 1392810., 1467735., 1542660.,
      1617585., 1692510., 1767435., 1842360., 1917285., 1992210., 2067135.,
      1096380., 1171530., 1246680., 1321830., 1396980., 1472130., 1547280.,
      1622430., 1697580., 1772730., 1847880., 1923030., 1998180., 2073330.,
      1099650., 1175025., 1250400., 1325775., 1401150., 1476525., 1551900.,
      1627275., 1702650., 1778025., 1853400., 1928775., 2004150., 2079525.,
      1102920., 1178520., 1254120., 1329720., 1405320., 1480920., 1556520.,
      1632120., 1707720., 1783320., 1858920., 1934520., 2010120., 2085720.,
      1106190., 1182015., 1257840., 1333665., 1409490., 1485315., 1561140.,
      1636965., 1712790., 1788615., 1864440., 1940265., 2016090., 2091915.,
      1109460., 1185510., 1261560., 1337610., 1413660., 1489710., 1565760.,
      1641810., 1717860., 1793910., 1869960., 1946010., 2022060., 2098110.,
      1112730., 1189005., 1265280., 1341555., 1417830., 1494105., 1570380.,
      1646655., 1722930., 1799205., 1875480., 1951755., 2028030., 2104305.,
      1116000., 1192500., 1269000., 1345500., 1422000., 1498500., 1575000.,
      1651500., 1728000., 1804500., 1881000., 1957500., 2034000., 2110500.,
      1119270., 1195995., 1272720., 1349445., 1426170., 1502895., 1579620.,
      1656345., 1733070., 1809795., 1886520., 1963245., 2039970., 2116695.,
      1122540., 1199490., 1276440., 1353390., 1430340., 1507290., 1584240.,
      1661190., 1738140., 1815090., 1892040., 1968990., 2045940., 2122890.,
      1125810., 1202985., 1280160., 1357335., 1434510., 1511685., 1588860.,
      1666035., 1743210., 1820385., 1897560., 1974735., 2051910., 2129085.,
      1129080., 1206480., 1283880., 1361280., 1438680., 1516080., 1593480.,
      1670880., 1748280., 1825680., 1903080., 1980480., 2057880., 2135280.,
      1132350., 1209975., 1287600., 1365225., 1442850., 1520475., 1598100.,
      1675725., 1753350., 1830975., 1908600., 1986225., 2063850., 2141475.,
      3573720., 3698820., 3823920., 3949020., 4074120., 4199220., 4324320.,
      4449420., 4574520., 4699620., 4824720., 4949820., 5074920., 5200020.,
      3580140., 3705465., 3830790., 3956115., 4081440., 4206765., 4332090.,
      4457415., 4582740., 4708065., 4833390., 4958715., 5084040., 5209365.,
      3586560., 3712110., 3837660., 3963210., 4088760., 4214310., 4339860.,
      4465410., 4590960., 4716510., 4842060., 4967610., 5093160., 5218710.,
      3592980., 3718755., 3844530., 3970305., 4096080., 4221855., 4347630.,
      4473405., 4599180., 4724955., 4850730., 4976505., 5102280., 5228055.,
      3599400., 3725400., 3851400., 3977400., 4103400., 4229400., 4355400.,
      4481400., 4607400., 4733400., 4859400., 4985400., 5111400., 5237400.,
      3605820., 3732045., 3858270., 3984495., 4110720., 4236945., 4363170.,
      4489395., 4615620., 4741845., 4868070., 4994295., 5120520., 5246745.,
      3612240., 3738690., 3865140., 3991590., 4118040., 4244490., 4370940.,
      4497390., 4623840., 4750290., 4876740., 5003190., 5129640., 5256090.,
      3618660., 3745335., 3872010., 3998685., 4125360., 4252035., 4378710.,
      4505385., 4632060., 4758735., 4885410., 5012085., 5138760., 5265435.,
      3625080., 3751980., 3878880., 4005780., 4132680., 4259580., 4386480.,
      4513380., 4640280., 4767180., 4894080., 5020980., 5147880., 5274780.,
      3631500., 3758625., 3885750., 4012875., 4140000., 4267125., 4394250.,
      4521375., 4648500., 4775625., 4902750., 5029875., 5157000., 5284125.,
      3637920., 3765270., 3892620., 4019970., 4147320., 4274670., 4402020.,
      4529370., 4656720., 4784070., 4911420., 5038770., 5166120., 5293470.,
      3644340., 3771915., 3899490., 4027065., 4154640., 4282215., 4409790.,
      4537365., 4664940., 4792515., 4920090., 5047665., 5175240., 5302815.,
      3650760., 3778560., 3906360., 4034160., 4161960., 4289760., 4417560.,
      4545360., 4673160., 4800960., 4928760., 5056560., 5184360., 5312160.,
      3657180., 3785205., 3913230., 4041255., 4169280., 4297305., 4425330.,
      4553355., 4681380., 4809405., 4937430., 5065455., 5193480., 5321505.,
      3663600., 3791850., 3920100., 4048350., 4176600., 4304850., 4433100.,
      4561350., 4689600., 4817850., 4946100., 5074350., 5202600., 5330850.};
  const int batches = 3;
  const int m = 15;
  const int k = 15;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M15xK15xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      16920.,   40770.,   64620.,   88470.,   112320.,  136170.,  160020.,
      183870.,  207720.,  231570.,  255420.,  279270.,  303120.,  326970.,
      350820.,  17040.,   41115.,   65190.,   89265.,   113340.,  137415.,
      161490.,  185565.,  209640.,  233715.,  257790.,  281865.,  305940.,
      330015.,  354090.,  17160.,   41460.,   65760.,   90060.,   114360.,
      138660.,  162960.,  187260.,  211560.,  235860.,  260160.,  284460.,
      308760.,  333060.,  357360.,  17280.,   41805.,   66330.,   90855.,
      115380.,  139905.,  164430.,  188955.,  213480.,  238005.,  262530.,
      287055.,  311580.,  336105.,  360630.,  17400.,   42150.,   66900.,
      91650.,   116400.,  141150.,  165900.,  190650.,  215400.,  240150.,
      264900.,  289650.,  314400.,  339150.,  363900.,  17520.,   42495.,
      67470.,   92445.,   117420.,  142395.,  167370.,  192345.,  217320.,
      242295.,  267270.,  292245.,  317220.,  342195.,  367170.,  17640.,
      42840.,   68040.,   93240.,   118440.,  143640.,  168840.,  194040.,
      219240.,  244440.,  269640.,  294840.,  320040.,  345240.,  370440.,
      17760.,   43185.,   68610.,   94035.,   119460.,  144885.,  170310.,
      195735.,  221160.,  246585.,  272010.,  297435.,  322860.,  348285.,
      373710.,  17880.,   43530.,   69180.,   94830.,   120480.,  146130.,
      171780.,  197430.,  223080.,  248730.,  274380.,  300030.,  325680.,
      351330.,  376980.,  18000.,   43875.,   69750.,   95625.,   121500.,
      147375.,  173250.,  199125.,  225000.,  250875.,  276750.,  302625.,
      328500.,  354375.,  380250.,  18120.,   44220.,   70320.,   96420.,
      122520.,  148620.,  174720.,  200820.,  226920.,  253020.,  279120.,
      305220.,  331320.,  357420.,  383520.,  18240.,   44565.,   70890.,
      97215.,   123540.,  149865.,  176190.,  202515.,  228840.,  255165.,
      281490.,  307815.,  334140.,  360465.,  386790.,  18360.,   44910.,
      71460.,   98010.,   124560.,  151110.,  177660.,  204210.,  230760.,
      257310.,  283860.,  310410.,  336960.,  363510.,  390060.,  18480.,
      45255.,   72030.,   98805.,   125580.,  152355.,  179130.,  205905.,
      232680.,  259455.,  286230.,  313005.,  339780.,  366555.,  393330.,
      18600.,   45600.,   72600.,   99600.,   126600.,  153600.,  180600.,
      207600.,  234600.,  261600.,  288600.,  315600.,  342600.,  369600.,
      396600.,  1161045., 1235520., 1309995., 1384470., 1458945., 1533420.,
      1607895., 1682370., 1756845., 1831320., 1905795., 1980270., 2054745.,
      2129220., 2203695., 1164540., 1239240., 1313940., 1388640., 1463340.,
      1538040., 1612740., 1687440., 1762140., 1836840., 1911540., 1986240.,
      2060940., 2135640., 2210340., 1168035., 1242960., 1317885., 1392810.,
      1467735., 1542660., 1617585., 1692510., 1767435., 1842360., 1917285.,
      1992210., 2067135., 2142060., 2216985., 1171530., 1246680., 1321830.,
      1396980., 1472130., 1547280., 1622430., 1697580., 1772730., 1847880.,
      1923030., 1998180., 2073330., 2148480., 2223630., 1175025., 1250400.,
      1325775., 1401150., 1476525., 1551900., 1627275., 1702650., 1778025.,
      1853400., 1928775., 2004150., 2079525., 2154900., 2230275., 1178520.,
      1254120., 1329720., 1405320., 1480920., 1556520., 1632120., 1707720.,
      1783320., 1858920., 1934520., 2010120., 2085720., 2161320., 2236920.,
      1182015., 1257840., 1333665., 1409490., 1485315., 1561140., 1636965.,
      1712790., 1788615., 1864440., 1940265., 2016090., 2091915., 2167740.,
      2243565., 1185510., 1261560., 1337610., 1413660., 1489710., 1565760.,
      1641810., 1717860., 1793910., 1869960., 1946010., 2022060., 2098110.,
      2174160., 2250210., 1189005., 1265280., 1341555., 1417830., 1494105.,
      1570380., 1646655., 1722930., 1799205., 1875480., 1951755., 2028030.,
      2104305., 2180580., 2256855., 1192500., 1269000., 1345500., 1422000.,
      1498500., 1575000., 1651500., 1728000., 1804500., 1881000., 1957500.,
      2034000., 2110500., 2187000., 2263500., 1195995., 1272720., 1349445.,
      1426170., 1502895., 1579620., 1656345., 1733070., 1809795., 1886520.,
      1963245., 2039970., 2116695., 2193420., 2270145., 1199490., 1276440.,
      1353390., 1430340., 1507290., 1584240., 1661190., 1738140., 1815090.,
      1892040., 1968990., 2045940., 2122890., 2199840., 2276790., 1202985.,
      1280160., 1357335., 1434510., 1511685., 1588860., 1666035., 1743210.,
      1820385., 1897560., 1974735., 2051910., 2129085., 2206260., 2283435.,
      1206480., 1283880., 1361280., 1438680., 1516080., 1593480., 1670880.,
      1748280., 1825680., 1903080., 1980480., 2057880., 2135280., 2212680.,
      2290080., 1209975., 1287600., 1365225., 1442850., 1520475., 1598100.,
      1675725., 1753350., 1830975., 1908600., 1986225., 2063850., 2141475.,
      2219100., 2296725., 3823920., 3949020., 4074120., 4199220., 4324320.,
      4449420., 4574520., 4699620., 4824720., 4949820., 5074920., 5200020.,
      5325120., 5450220., 5575320., 3830790., 3956115., 4081440., 4206765.,
      4332090., 4457415., 4582740., 4708065., 4833390., 4958715., 5084040.,
      5209365., 5334690., 5460015., 5585340., 3837660., 3963210., 4088760.,
      4214310., 4339860., 4465410., 4590960., 4716510., 4842060., 4967610.,
      5093160., 5218710., 5344260., 5469810., 5595360., 3844530., 3970305.,
      4096080., 4221855., 4347630., 4473405., 4599180., 4724955., 4850730.,
      4976505., 5102280., 5228055., 5353830., 5479605., 5605380., 3851400.,
      3977400., 4103400., 4229400., 4355400., 4481400., 4607400., 4733400.,
      4859400., 4985400., 5111400., 5237400., 5363400., 5489400., 5615400.,
      3858270., 3984495., 4110720., 4236945., 4363170., 4489395., 4615620.,
      4741845., 4868070., 4994295., 5120520., 5246745., 5372970., 5499195.,
      5625420., 3865140., 3991590., 4118040., 4244490., 4370940., 4497390.,
      4623840., 4750290., 4876740., 5003190., 5129640., 5256090., 5382540.,
      5508990., 5635440., 3872010., 3998685., 4125360., 4252035., 4378710.,
      4505385., 4632060., 4758735., 4885410., 5012085., 5138760., 5265435.,
      5392110., 5518785., 5645460., 3878880., 4005780., 4132680., 4259580.,
      4386480., 4513380., 4640280., 4767180., 4894080., 5020980., 5147880.,
      5274780., 5401680., 5528580., 5655480., 3885750., 4012875., 4140000.,
      4267125., 4394250., 4521375., 4648500., 4775625., 4902750., 5029875.,
      5157000., 5284125., 5411250., 5538375., 5665500., 3892620., 4019970.,
      4147320., 4274670., 4402020., 4529370., 4656720., 4784070., 4911420.,
      5038770., 5166120., 5293470., 5420820., 5548170., 5675520., 3899490.,
      4027065., 4154640., 4282215., 4409790., 4537365., 4664940., 4792515.,
      4920090., 5047665., 5175240., 5302815., 5430390., 5557965., 5685540.,
      3906360., 4034160., 4161960., 4289760., 4417560., 4545360., 4673160.,
      4800960., 4928760., 5056560., 5184360., 5312160., 5439960., 5567760.,
      5695560., 3913230., 4041255., 4169280., 4297305., 4425330., 4553355.,
      4681380., 4809405., 4937430., 5065455., 5193480., 5321505., 5449530.,
      5577555., 5705580., 3920100., 4048350., 4176600., 4304850., 4433100.,
      4561350., 4689600., 4817850., 4946100., 5074350., 5202600., 5330850.,
      5459100., 5587350., 5715600.};
  const int batches = 3;
  const int m = 15;
  const int k = 15;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M15xK15xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      16920.,   40770.,   64620.,   88470.,   112320.,  136170.,  160020.,
      183870.,  207720.,  231570.,  255420.,  279270.,  303120.,  326970.,
      350820.,  374670.,  17040.,   41115.,   65190.,   89265.,   113340.,
      137415.,  161490.,  185565.,  209640.,  233715.,  257790.,  281865.,
      305940.,  330015.,  354090.,  378165.,  17160.,   41460.,   65760.,
      90060.,   114360.,  138660.,  162960.,  187260.,  211560.,  235860.,
      260160.,  284460.,  308760.,  333060.,  357360.,  381660.,  17280.,
      41805.,   66330.,   90855.,   115380.,  139905.,  164430.,  188955.,
      213480.,  238005.,  262530.,  287055.,  311580.,  336105.,  360630.,
      385155.,  17400.,   42150.,   66900.,   91650.,   116400.,  141150.,
      165900.,  190650.,  215400.,  240150.,  264900.,  289650.,  314400.,
      339150.,  363900.,  388650.,  17520.,   42495.,   67470.,   92445.,
      117420.,  142395.,  167370.,  192345.,  217320.,  242295.,  267270.,
      292245.,  317220.,  342195.,  367170.,  392145.,  17640.,   42840.,
      68040.,   93240.,   118440.,  143640.,  168840.,  194040.,  219240.,
      244440.,  269640.,  294840.,  320040.,  345240.,  370440.,  395640.,
      17760.,   43185.,   68610.,   94035.,   119460.,  144885.,  170310.,
      195735.,  221160.,  246585.,  272010.,  297435.,  322860.,  348285.,
      373710.,  399135.,  17880.,   43530.,   69180.,   94830.,   120480.,
      146130.,  171780.,  197430.,  223080.,  248730.,  274380.,  300030.,
      325680.,  351330.,  376980.,  402630.,  18000.,   43875.,   69750.,
      95625.,   121500.,  147375.,  173250.,  199125.,  225000.,  250875.,
      276750.,  302625.,  328500.,  354375.,  380250.,  406125.,  18120.,
      44220.,   70320.,   96420.,   122520.,  148620.,  174720.,  200820.,
      226920.,  253020.,  279120.,  305220.,  331320.,  357420.,  383520.,
      409620.,  18240.,   44565.,   70890.,   97215.,   123540.,  149865.,
      176190.,  202515.,  228840.,  255165.,  281490.,  307815.,  334140.,
      360465.,  386790.,  413115.,  18360.,   44910.,   71460.,   98010.,
      124560.,  151110.,  177660.,  204210.,  230760.,  257310.,  283860.,
      310410.,  336960.,  363510.,  390060.,  416610.,  18480.,   45255.,
      72030.,   98805.,   125580.,  152355.,  179130.,  205905.,  232680.,
      259455.,  286230.,  313005.,  339780.,  366555.,  393330.,  420105.,
      18600.,   45600.,   72600.,   99600.,   126600.,  153600.,  180600.,
      207600.,  234600.,  261600.,  288600.,  315600.,  342600.,  369600.,
      396600.,  423600.,  1235520., 1309995., 1384470., 1458945., 1533420.,
      1607895., 1682370., 1756845., 1831320., 1905795., 1980270., 2054745.,
      2129220., 2203695., 2278170., 2352645., 1239240., 1313940., 1388640.,
      1463340., 1538040., 1612740., 1687440., 1762140., 1836840., 1911540.,
      1986240., 2060940., 2135640., 2210340., 2285040., 2359740., 1242960.,
      1317885., 1392810., 1467735., 1542660., 1617585., 1692510., 1767435.,
      1842360., 1917285., 1992210., 2067135., 2142060., 2216985., 2291910.,
      2366835., 1246680., 1321830., 1396980., 1472130., 1547280., 1622430.,
      1697580., 1772730., 1847880., 1923030., 1998180., 2073330., 2148480.,
      2223630., 2298780., 2373930., 1250400., 1325775., 1401150., 1476525.,
      1551900., 1627275., 1702650., 1778025., 1853400., 1928775., 2004150.,
      2079525., 2154900., 2230275., 2305650., 2381025., 1254120., 1329720.,
      1405320., 1480920., 1556520., 1632120., 1707720., 1783320., 1858920.,
      1934520., 2010120., 2085720., 2161320., 2236920., 2312520., 2388120.,
      1257840., 1333665., 1409490., 1485315., 1561140., 1636965., 1712790.,
      1788615., 1864440., 1940265., 2016090., 2091915., 2167740., 2243565.,
      2319390., 2395215., 1261560., 1337610., 1413660., 1489710., 1565760.,
      1641810., 1717860., 1793910., 1869960., 1946010., 2022060., 2098110.,
      2174160., 2250210., 2326260., 2402310., 1265280., 1341555., 1417830.,
      1494105., 1570380., 1646655., 1722930., 1799205., 1875480., 1951755.,
      2028030., 2104305., 2180580., 2256855., 2333130., 2409405., 1269000.,
      1345500., 1422000., 1498500., 1575000., 1651500., 1728000., 1804500.,
      1881000., 1957500., 2034000., 2110500., 2187000., 2263500., 2340000.,
      2416500., 1272720., 1349445., 1426170., 1502895., 1579620., 1656345.,
      1733070., 1809795., 1886520., 1963245., 2039970., 2116695., 2193420.,
      2270145., 2346870., 2423595., 1276440., 1353390., 1430340., 1507290.,
      1584240., 1661190., 1738140., 1815090., 1892040., 1968990., 2045940.,
      2122890., 2199840., 2276790., 2353740., 2430690., 1280160., 1357335.,
      1434510., 1511685., 1588860., 1666035., 1743210., 1820385., 1897560.,
      1974735., 2051910., 2129085., 2206260., 2283435., 2360610., 2437785.,
      1283880., 1361280., 1438680., 1516080., 1593480., 1670880., 1748280.,
      1825680., 1903080., 1980480., 2057880., 2135280., 2212680., 2290080.,
      2367480., 2444880., 1287600., 1365225., 1442850., 1520475., 1598100.,
      1675725., 1753350., 1830975., 1908600., 1986225., 2063850., 2141475.,
      2219100., 2296725., 2374350., 2451975., 4074120., 4199220., 4324320.,
      4449420., 4574520., 4699620., 4824720., 4949820., 5074920., 5200020.,
      5325120., 5450220., 5575320., 5700420., 5825520., 5950620., 4081440.,
      4206765., 4332090., 4457415., 4582740., 4708065., 4833390., 4958715.,
      5084040., 5209365., 5334690., 5460015., 5585340., 5710665., 5835990.,
      5961315., 4088760., 4214310., 4339860., 4465410., 4590960., 4716510.,
      4842060., 4967610., 5093160., 5218710., 5344260., 5469810., 5595360.,
      5720910., 5846460., 5972010., 4096080., 4221855., 4347630., 4473405.,
      4599180., 4724955., 4850730., 4976505., 5102280., 5228055., 5353830.,
      5479605., 5605380., 5731155., 5856930., 5982705., 4103400., 4229400.,
      4355400., 4481400., 4607400., 4733400., 4859400., 4985400., 5111400.,
      5237400., 5363400., 5489400., 5615400., 5741400., 5867400., 5993400.,
      4110720., 4236945., 4363170., 4489395., 4615620., 4741845., 4868070.,
      4994295., 5120520., 5246745., 5372970., 5499195., 5625420., 5751645.,
      5877870., 6004095., 4118040., 4244490., 4370940., 4497390., 4623840.,
      4750290., 4876740., 5003190., 5129640., 5256090., 5382540., 5508990.,
      5635440., 5761890., 5888340., 6014790., 4125360., 4252035., 4378710.,
      4505385., 4632060., 4758735., 4885410., 5012085., 5138760., 5265435.,
      5392110., 5518785., 5645460., 5772135., 5898810., 6025485., 4132680.,
      4259580., 4386480., 4513380., 4640280., 4767180., 4894080., 5020980.,
      5147880., 5274780., 5401680., 5528580., 5655480., 5782380., 5909280.,
      6036180., 4140000., 4267125., 4394250., 4521375., 4648500., 4775625.,
      4902750., 5029875., 5157000., 5284125., 5411250., 5538375., 5665500.,
      5792625., 5919750., 6046875., 4147320., 4274670., 4402020., 4529370.,
      4656720., 4784070., 4911420., 5038770., 5166120., 5293470., 5420820.,
      5548170., 5675520., 5802870., 5930220., 6057570., 4154640., 4282215.,
      4409790., 4537365., 4664940., 4792515., 4920090., 5047665., 5175240.,
      5302815., 5430390., 5557965., 5685540., 5813115., 5940690., 6068265.,
      4161960., 4289760., 4417560., 4545360., 4673160., 4800960., 4928760.,
      5056560., 5184360., 5312160., 5439960., 5567760., 5695560., 5823360.,
      5951160., 6078960., 4169280., 4297305., 4425330., 4553355., 4681380.,
      4809405., 4937430., 5065455., 5193480., 5321505., 5449530., 5577555.,
      5705580., 5833605., 5961630., 6089655., 4176600., 4304850., 4433100.,
      4561350., 4689600., 4817850., 4946100., 5074350., 5202600., 5330850.,
      5459100., 5587350., 5715600., 5843850., 5972100., 6100350.};
  const int batches = 3;
  const int m = 15;
  const int k = 15;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M15xK16xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      20536.,   49592.,   78648.,   107704.,  136760.,  165816.,  194872.,
      223928.,  252984.,  282040.,  311096.,  340152.,  369208.,  398264.,
      20672.,   49984.,   79296.,   108608.,  137920.,  167232.,  196544.,
      225856.,  255168.,  284480.,  313792.,  343104.,  372416.,  401728.,
      20808.,   50376.,   79944.,   109512.,  139080.,  168648.,  198216.,
      227784.,  257352.,  286920.,  316488.,  346056.,  375624.,  405192.,
      20944.,   50768.,   80592.,   110416.,  140240.,  170064.,  199888.,
      229712.,  259536.,  289360.,  319184.,  349008.,  378832.,  408656.,
      21080.,   51160.,   81240.,   111320.,  141400.,  171480.,  201560.,
      231640.,  261720.,  291800.,  321880.,  351960.,  382040.,  412120.,
      21216.,   51552.,   81888.,   112224.,  142560.,  172896.,  203232.,
      233568.,  263904.,  294240.,  324576.,  354912.,  385248.,  415584.,
      21352.,   51944.,   82536.,   113128.,  143720.,  174312.,  204904.,
      235496.,  266088.,  296680.,  327272.,  357864.,  388456.,  419048.,
      21488.,   52336.,   83184.,   114032.,  144880.,  175728.,  206576.,
      237424.,  268272.,  299120.,  329968.,  360816.,  391664.,  422512.,
      21624.,   52728.,   83832.,   114936.,  146040.,  177144.,  208248.,
      239352.,  270456.,  301560.,  332664.,  363768.,  394872.,  425976.,
      21760.,   53120.,   84480.,   115840.,  147200.,  178560.,  209920.,
      241280.,  272640.,  304000.,  335360.,  366720.,  398080.,  429440.,
      21896.,   53512.,   85128.,   116744.,  148360.,  179976.,  211592.,
      243208.,  274824.,  306440.,  338056.,  369672.,  401288.,  432904.,
      22032.,   53904.,   85776.,   117648.,  149520.,  181392.,  213264.,
      245136.,  277008.,  308880.,  340752.,  372624.,  404496.,  436368.,
      22168.,   54296.,   86424.,   118552.,  150680.,  182808.,  214936.,
      247064.,  279192.,  311320.,  343448.,  375576.,  407704.,  439832.,
      22304.,   54688.,   87072.,   119456.,  151840.,  184224.,  216608.,
      248992.,  281376.,  313760.,  346144.,  378528.,  410912.,  443296.,
      22440.,   55080.,   87720.,   120360.,  153000.,  185640.,  218280.,
      250920.,  283560.,  316200.,  348840.,  381480.,  414120.,  446760.,
      1320120., 1410616., 1501112., 1591608., 1682104., 1772600., 1863096.,
      1953592., 2044088., 2134584., 2225080., 2315576., 2406072., 2496568.,
      1323840., 1414592., 1505344., 1596096., 1686848., 1777600., 1868352.,
      1959104., 2049856., 2140608., 2231360., 2322112., 2412864., 2503616.,
      1327560., 1418568., 1509576., 1600584., 1691592., 1782600., 1873608.,
      1964616., 2055624., 2146632., 2237640., 2328648., 2419656., 2510664.,
      1331280., 1422544., 1513808., 1605072., 1696336., 1787600., 1878864.,
      1970128., 2061392., 2152656., 2243920., 2335184., 2426448., 2517712.,
      1335000., 1426520., 1518040., 1609560., 1701080., 1792600., 1884120.,
      1975640., 2067160., 2158680., 2250200., 2341720., 2433240., 2524760.,
      1338720., 1430496., 1522272., 1614048., 1705824., 1797600., 1889376.,
      1981152., 2072928., 2164704., 2256480., 2348256., 2440032., 2531808.,
      1342440., 1434472., 1526504., 1618536., 1710568., 1802600., 1894632.,
      1986664., 2078696., 2170728., 2262760., 2354792., 2446824., 2538856.,
      1346160., 1438448., 1530736., 1623024., 1715312., 1807600., 1899888.,
      1992176., 2084464., 2176752., 2269040., 2361328., 2453616., 2545904.,
      1349880., 1442424., 1534968., 1627512., 1720056., 1812600., 1905144.,
      1997688., 2090232., 2182776., 2275320., 2367864., 2460408., 2552952.,
      1353600., 1446400., 1539200., 1632000., 1724800., 1817600., 1910400.,
      2003200., 2096000., 2188800., 2281600., 2374400., 2467200., 2560000.,
      1357320., 1450376., 1543432., 1636488., 1729544., 1822600., 1915656.,
      2008712., 2101768., 2194824., 2287880., 2380936., 2473992., 2567048.,
      1361040., 1454352., 1547664., 1640976., 1734288., 1827600., 1920912.,
      2014224., 2107536., 2200848., 2294160., 2387472., 2480784., 2574096.,
      1364760., 1458328., 1551896., 1645464., 1739032., 1832600., 1926168.,
      2019736., 2113304., 2206872., 2300440., 2394008., 2487576., 2581144.,
      1368480., 1462304., 1556128., 1649952., 1743776., 1837600., 1931424.,
      2025248., 2119072., 2212896., 2306720., 2400544., 2494368., 2588192.,
      1372200., 1466280., 1560360., 1654440., 1748520., 1842600., 1936680.,
      2030760., 2124840., 2218920., 2313000., 2407080., 2501160., 2595240.,
      4340024., 4491960., 4643896., 4795832., 4947768., 5099704., 5251640.,
      5403576., 5555512., 5707448., 5859384., 6011320., 6163256., 6315192.,
      4347328., 4499520., 4651712., 4803904., 4956096., 5108288., 5260480.,
      5412672., 5564864., 5717056., 5869248., 6021440., 6173632., 6325824.,
      4354632., 4507080., 4659528., 4811976., 4964424., 5116872., 5269320.,
      5421768., 5574216., 5726664., 5879112., 6031560., 6184008., 6336456.,
      4361936., 4514640., 4667344., 4820048., 4972752., 5125456., 5278160.,
      5430864., 5583568., 5736272., 5888976., 6041680., 6194384., 6347088.,
      4369240., 4522200., 4675160., 4828120., 4981080., 5134040., 5287000.,
      5439960., 5592920., 5745880., 5898840., 6051800., 6204760., 6357720.,
      4376544., 4529760., 4682976., 4836192., 4989408., 5142624., 5295840.,
      5449056., 5602272., 5755488., 5908704., 6061920., 6215136., 6368352.,
      4383848., 4537320., 4690792., 4844264., 4997736., 5151208., 5304680.,
      5458152., 5611624., 5765096., 5918568., 6072040., 6225512., 6378984.,
      4391152., 4544880., 4698608., 4852336., 5006064., 5159792., 5313520.,
      5467248., 5620976., 5774704., 5928432., 6082160., 6235888., 6389616.,
      4398456., 4552440., 4706424., 4860408., 5014392., 5168376., 5322360.,
      5476344., 5630328., 5784312., 5938296., 6092280., 6246264., 6400248.,
      4405760., 4560000., 4714240., 4868480., 5022720., 5176960., 5331200.,
      5485440., 5639680., 5793920., 5948160., 6102400., 6256640., 6410880.,
      4413064., 4567560., 4722056., 4876552., 5031048., 5185544., 5340040.,
      5494536., 5649032., 5803528., 5958024., 6112520., 6267016., 6421512.,
      4420368., 4575120., 4729872., 4884624., 5039376., 5194128., 5348880.,
      5503632., 5658384., 5813136., 5967888., 6122640., 6277392., 6432144.,
      4427672., 4582680., 4737688., 4892696., 5047704., 5202712., 5357720.,
      5512728., 5667736., 5822744., 5977752., 6132760., 6287768., 6442776.,
      4434976., 4590240., 4745504., 4900768., 5056032., 5211296., 5366560.,
      5521824., 5677088., 5832352., 5987616., 6142880., 6298144., 6453408.,
      4442280., 4597800., 4753320., 4908840., 5064360., 5219880., 5375400.,
      5530920., 5686440., 5841960., 5997480., 6153000., 6308520., 6464040.};
  const int batches = 3;
  const int m = 15;
  const int k = 16;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M15xK16xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      20536.,   49592.,   78648.,   107704.,  136760.,  165816.,  194872.,
      223928.,  252984.,  282040.,  311096.,  340152.,  369208.,  398264.,
      427320.,  20672.,   49984.,   79296.,   108608.,  137920.,  167232.,
      196544.,  225856.,  255168.,  284480.,  313792.,  343104.,  372416.,
      401728.,  431040.,  20808.,   50376.,   79944.,   109512.,  139080.,
      168648.,  198216.,  227784.,  257352.,  286920.,  316488.,  346056.,
      375624.,  405192.,  434760.,  20944.,   50768.,   80592.,   110416.,
      140240.,  170064.,  199888.,  229712.,  259536.,  289360.,  319184.,
      349008.,  378832.,  408656.,  438480.,  21080.,   51160.,   81240.,
      111320.,  141400.,  171480.,  201560.,  231640.,  261720.,  291800.,
      321880.,  351960.,  382040.,  412120.,  442200.,  21216.,   51552.,
      81888.,   112224.,  142560.,  172896.,  203232.,  233568.,  263904.,
      294240.,  324576.,  354912.,  385248.,  415584.,  445920.,  21352.,
      51944.,   82536.,   113128.,  143720.,  174312.,  204904.,  235496.,
      266088.,  296680.,  327272.,  357864.,  388456.,  419048.,  449640.,
      21488.,   52336.,   83184.,   114032.,  144880.,  175728.,  206576.,
      237424.,  268272.,  299120.,  329968.,  360816.,  391664.,  422512.,
      453360.,  21624.,   52728.,   83832.,   114936.,  146040.,  177144.,
      208248.,  239352.,  270456.,  301560.,  332664.,  363768.,  394872.,
      425976.,  457080.,  21760.,   53120.,   84480.,   115840.,  147200.,
      178560.,  209920.,  241280.,  272640.,  304000.,  335360.,  366720.,
      398080.,  429440.,  460800.,  21896.,   53512.,   85128.,   116744.,
      148360.,  179976.,  211592.,  243208.,  274824.,  306440.,  338056.,
      369672.,  401288.,  432904.,  464520.,  22032.,   53904.,   85776.,
      117648.,  149520.,  181392.,  213264.,  245136.,  277008.,  308880.,
      340752.,  372624.,  404496.,  436368.,  468240.,  22168.,   54296.,
      86424.,   118552.,  150680.,  182808.,  214936.,  247064.,  279192.,
      311320.,  343448.,  375576.,  407704.,  439832.,  471960.,  22304.,
      54688.,   87072.,   119456.,  151840.,  184224.,  216608.,  248992.,
      281376.,  313760.,  346144.,  378528.,  410912.,  443296.,  475680.,
      22440.,   55080.,   87720.,   120360.,  153000.,  185640.,  218280.,
      250920.,  283560.,  316200.,  348840.,  381480.,  414120.,  446760.,
      479400.,  1410616., 1501112., 1591608., 1682104., 1772600., 1863096.,
      1953592., 2044088., 2134584., 2225080., 2315576., 2406072., 2496568.,
      2587064., 2677560., 1414592., 1505344., 1596096., 1686848., 1777600.,
      1868352., 1959104., 2049856., 2140608., 2231360., 2322112., 2412864.,
      2503616., 2594368., 2685120., 1418568., 1509576., 1600584., 1691592.,
      1782600., 1873608., 1964616., 2055624., 2146632., 2237640., 2328648.,
      2419656., 2510664., 2601672., 2692680., 1422544., 1513808., 1605072.,
      1696336., 1787600., 1878864., 1970128., 2061392., 2152656., 2243920.,
      2335184., 2426448., 2517712., 2608976., 2700240., 1426520., 1518040.,
      1609560., 1701080., 1792600., 1884120., 1975640., 2067160., 2158680.,
      2250200., 2341720., 2433240., 2524760., 2616280., 2707800., 1430496.,
      1522272., 1614048., 1705824., 1797600., 1889376., 1981152., 2072928.,
      2164704., 2256480., 2348256., 2440032., 2531808., 2623584., 2715360.,
      1434472., 1526504., 1618536., 1710568., 1802600., 1894632., 1986664.,
      2078696., 2170728., 2262760., 2354792., 2446824., 2538856., 2630888.,
      2722920., 1438448., 1530736., 1623024., 1715312., 1807600., 1899888.,
      1992176., 2084464., 2176752., 2269040., 2361328., 2453616., 2545904.,
      2638192., 2730480., 1442424., 1534968., 1627512., 1720056., 1812600.,
      1905144., 1997688., 2090232., 2182776., 2275320., 2367864., 2460408.,
      2552952., 2645496., 2738040., 1446400., 1539200., 1632000., 1724800.,
      1817600., 1910400., 2003200., 2096000., 2188800., 2281600., 2374400.,
      2467200., 2560000., 2652800., 2745600., 1450376., 1543432., 1636488.,
      1729544., 1822600., 1915656., 2008712., 2101768., 2194824., 2287880.,
      2380936., 2473992., 2567048., 2660104., 2753160., 1454352., 1547664.,
      1640976., 1734288., 1827600., 1920912., 2014224., 2107536., 2200848.,
      2294160., 2387472., 2480784., 2574096., 2667408., 2760720., 1458328.,
      1551896., 1645464., 1739032., 1832600., 1926168., 2019736., 2113304.,
      2206872., 2300440., 2394008., 2487576., 2581144., 2674712., 2768280.,
      1462304., 1556128., 1649952., 1743776., 1837600., 1931424., 2025248.,
      2119072., 2212896., 2306720., 2400544., 2494368., 2588192., 2682016.,
      2775840., 1466280., 1560360., 1654440., 1748520., 1842600., 1936680.,
      2030760., 2124840., 2218920., 2313000., 2407080., 2501160., 2595240.,
      2689320., 2783400., 4643896., 4795832., 4947768., 5099704., 5251640.,
      5403576., 5555512., 5707448., 5859384., 6011320., 6163256., 6315192.,
      6467128., 6619064., 6771000., 4651712., 4803904., 4956096., 5108288.,
      5260480., 5412672., 5564864., 5717056., 5869248., 6021440., 6173632.,
      6325824., 6478016., 6630208., 6782400., 4659528., 4811976., 4964424.,
      5116872., 5269320., 5421768., 5574216., 5726664., 5879112., 6031560.,
      6184008., 6336456., 6488904., 6641352., 6793800., 4667344., 4820048.,
      4972752., 5125456., 5278160., 5430864., 5583568., 5736272., 5888976.,
      6041680., 6194384., 6347088., 6499792., 6652496., 6805200., 4675160.,
      4828120., 4981080., 5134040., 5287000., 5439960., 5592920., 5745880.,
      5898840., 6051800., 6204760., 6357720., 6510680., 6663640., 6816600.,
      4682976., 4836192., 4989408., 5142624., 5295840., 5449056., 5602272.,
      5755488., 5908704., 6061920., 6215136., 6368352., 6521568., 6674784.,
      6828000., 4690792., 4844264., 4997736., 5151208., 5304680., 5458152.,
      5611624., 5765096., 5918568., 6072040., 6225512., 6378984., 6532456.,
      6685928., 6839400., 4698608., 4852336., 5006064., 5159792., 5313520.,
      5467248., 5620976., 5774704., 5928432., 6082160., 6235888., 6389616.,
      6543344., 6697072., 6850800., 4706424., 4860408., 5014392., 5168376.,
      5322360., 5476344., 5630328., 5784312., 5938296., 6092280., 6246264.,
      6400248., 6554232., 6708216., 6862200., 4714240., 4868480., 5022720.,
      5176960., 5331200., 5485440., 5639680., 5793920., 5948160., 6102400.,
      6256640., 6410880., 6565120., 6719360., 6873600., 4722056., 4876552.,
      5031048., 5185544., 5340040., 5494536., 5649032., 5803528., 5958024.,
      6112520., 6267016., 6421512., 6576008., 6730504., 6885000., 4729872.,
      4884624., 5039376., 5194128., 5348880., 5503632., 5658384., 5813136.,
      5967888., 6122640., 6277392., 6432144., 6586896., 6741648., 6896400.,
      4737688., 4892696., 5047704., 5202712., 5357720., 5512728., 5667736.,
      5822744., 5977752., 6132760., 6287768., 6442776., 6597784., 6752792.,
      6907800., 4745504., 4900768., 5056032., 5211296., 5366560., 5521824.,
      5677088., 5832352., 5987616., 6142880., 6298144., 6453408., 6608672.,
      6763936., 6919200., 4753320., 4908840., 5064360., 5219880., 5375400.,
      5530920., 5686440., 5841960., 5997480., 6153000., 6308520., 6464040.,
      6619560., 6775080., 6930600.};
  const int batches = 3;
  const int m = 15;
  const int k = 16;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M15xK16xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      20536.,   49592.,   78648.,   107704.,  136760.,  165816.,  194872.,
      223928.,  252984.,  282040.,  311096.,  340152.,  369208.,  398264.,
      427320.,  456376.,  20672.,   49984.,   79296.,   108608.,  137920.,
      167232.,  196544.,  225856.,  255168.,  284480.,  313792.,  343104.,
      372416.,  401728.,  431040.,  460352.,  20808.,   50376.,   79944.,
      109512.,  139080.,  168648.,  198216.,  227784.,  257352.,  286920.,
      316488.,  346056.,  375624.,  405192.,  434760.,  464328.,  20944.,
      50768.,   80592.,   110416.,  140240.,  170064.,  199888.,  229712.,
      259536.,  289360.,  319184.,  349008.,  378832.,  408656.,  438480.,
      468304.,  21080.,   51160.,   81240.,   111320.,  141400.,  171480.,
      201560.,  231640.,  261720.,  291800.,  321880.,  351960.,  382040.,
      412120.,  442200.,  472280.,  21216.,   51552.,   81888.,   112224.,
      142560.,  172896.,  203232.,  233568.,  263904.,  294240.,  324576.,
      354912.,  385248.,  415584.,  445920.,  476256.,  21352.,   51944.,
      82536.,   113128.,  143720.,  174312.,  204904.,  235496.,  266088.,
      296680.,  327272.,  357864.,  388456.,  419048.,  449640.,  480232.,
      21488.,   52336.,   83184.,   114032.,  144880.,  175728.,  206576.,
      237424.,  268272.,  299120.,  329968.,  360816.,  391664.,  422512.,
      453360.,  484208.,  21624.,   52728.,   83832.,   114936.,  146040.,
      177144.,  208248.,  239352.,  270456.,  301560.,  332664.,  363768.,
      394872.,  425976.,  457080.,  488184.,  21760.,   53120.,   84480.,
      115840.,  147200.,  178560.,  209920.,  241280.,  272640.,  304000.,
      335360.,  366720.,  398080.,  429440.,  460800.,  492160.,  21896.,
      53512.,   85128.,   116744.,  148360.,  179976.,  211592.,  243208.,
      274824.,  306440.,  338056.,  369672.,  401288.,  432904.,  464520.,
      496136.,  22032.,   53904.,   85776.,   117648.,  149520.,  181392.,
      213264.,  245136.,  277008.,  308880.,  340752.,  372624.,  404496.,
      436368.,  468240.,  500112.,  22168.,   54296.,   86424.,   118552.,
      150680.,  182808.,  214936.,  247064.,  279192.,  311320.,  343448.,
      375576.,  407704.,  439832.,  471960.,  504088.,  22304.,   54688.,
      87072.,   119456.,  151840.,  184224.,  216608.,  248992.,  281376.,
      313760.,  346144.,  378528.,  410912.,  443296.,  475680.,  508064.,
      22440.,   55080.,   87720.,   120360.,  153000.,  185640.,  218280.,
      250920.,  283560.,  316200.,  348840.,  381480.,  414120.,  446760.,
      479400.,  512040.,  1501112., 1591608., 1682104., 1772600., 1863096.,
      1953592., 2044088., 2134584., 2225080., 2315576., 2406072., 2496568.,
      2587064., 2677560., 2768056., 2858552., 1505344., 1596096., 1686848.,
      1777600., 1868352., 1959104., 2049856., 2140608., 2231360., 2322112.,
      2412864., 2503616., 2594368., 2685120., 2775872., 2866624., 1509576.,
      1600584., 1691592., 1782600., 1873608., 1964616., 2055624., 2146632.,
      2237640., 2328648., 2419656., 2510664., 2601672., 2692680., 2783688.,
      2874696., 1513808., 1605072., 1696336., 1787600., 1878864., 1970128.,
      2061392., 2152656., 2243920., 2335184., 2426448., 2517712., 2608976.,
      2700240., 2791504., 2882768., 1518040., 1609560., 1701080., 1792600.,
      1884120., 1975640., 2067160., 2158680., 2250200., 2341720., 2433240.,
      2524760., 2616280., 2707800., 2799320., 2890840., 1522272., 1614048.,
      1705824., 1797600., 1889376., 1981152., 2072928., 2164704., 2256480.,
      2348256., 2440032., 2531808., 2623584., 2715360., 2807136., 2898912.,
      1526504., 1618536., 1710568., 1802600., 1894632., 1986664., 2078696.,
      2170728., 2262760., 2354792., 2446824., 2538856., 2630888., 2722920.,
      2814952., 2906984., 1530736., 1623024., 1715312., 1807600., 1899888.,
      1992176., 2084464., 2176752., 2269040., 2361328., 2453616., 2545904.,
      2638192., 2730480., 2822768., 2915056., 1534968., 1627512., 1720056.,
      1812600., 1905144., 1997688., 2090232., 2182776., 2275320., 2367864.,
      2460408., 2552952., 2645496., 2738040., 2830584., 2923128., 1539200.,
      1632000., 1724800., 1817600., 1910400., 2003200., 2096000., 2188800.,
      2281600., 2374400., 2467200., 2560000., 2652800., 2745600., 2838400.,
      2931200., 1543432., 1636488., 1729544., 1822600., 1915656., 2008712.,
      2101768., 2194824., 2287880., 2380936., 2473992., 2567048., 2660104.,
      2753160., 2846216., 2939272., 1547664., 1640976., 1734288., 1827600.,
      1920912., 2014224., 2107536., 2200848., 2294160., 2387472., 2480784.,
      2574096., 2667408., 2760720., 2854032., 2947344., 1551896., 1645464.,
      1739032., 1832600., 1926168., 2019736., 2113304., 2206872., 2300440.,
      2394008., 2487576., 2581144., 2674712., 2768280., 2861848., 2955416.,
      1556128., 1649952., 1743776., 1837600., 1931424., 2025248., 2119072.,
      2212896., 2306720., 2400544., 2494368., 2588192., 2682016., 2775840.,
      2869664., 2963488., 1560360., 1654440., 1748520., 1842600., 1936680.,
      2030760., 2124840., 2218920., 2313000., 2407080., 2501160., 2595240.,
      2689320., 2783400., 2877480., 2971560., 4947768., 5099704., 5251640.,
      5403576., 5555512., 5707448., 5859384., 6011320., 6163256., 6315192.,
      6467128., 6619064., 6771000., 6922936., 7074872., 7226808., 4956096.,
      5108288., 5260480., 5412672., 5564864., 5717056., 5869248., 6021440.,
      6173632., 6325824., 6478016., 6630208., 6782400., 6934592., 7086784.,
      7238976., 4964424., 5116872., 5269320., 5421768., 5574216., 5726664.,
      5879112., 6031560., 6184008., 6336456., 6488904., 6641352., 6793800.,
      6946248., 7098696., 7251144., 4972752., 5125456., 5278160., 5430864.,
      5583568., 5736272., 5888976., 6041680., 6194384., 6347088., 6499792.,
      6652496., 6805200., 6957904., 7110608., 7263312., 4981080., 5134040.,
      5287000., 5439960., 5592920., 5745880., 5898840., 6051800., 6204760.,
      6357720., 6510680., 6663640., 6816600., 6969560., 7122520., 7275480.,
      4989408., 5142624., 5295840., 5449056., 5602272., 5755488., 5908704.,
      6061920., 6215136., 6368352., 6521568., 6674784., 6828000., 6981216.,
      7134432., 7287648., 4997736., 5151208., 5304680., 5458152., 5611624.,
      5765096., 5918568., 6072040., 6225512., 6378984., 6532456., 6685928.,
      6839400., 6992872., 7146344., 7299816., 5006064., 5159792., 5313520.,
      5467248., 5620976., 5774704., 5928432., 6082160., 6235888., 6389616.,
      6543344., 6697072., 6850800., 7004528., 7158256., 7311984., 5014392.,
      5168376., 5322360., 5476344., 5630328., 5784312., 5938296., 6092280.,
      6246264., 6400248., 6554232., 6708216., 6862200., 7016184., 7170168.,
      7324152., 5022720., 5176960., 5331200., 5485440., 5639680., 5793920.,
      5948160., 6102400., 6256640., 6410880., 6565120., 6719360., 6873600.,
      7027840., 7182080., 7336320., 5031048., 5185544., 5340040., 5494536.,
      5649032., 5803528., 5958024., 6112520., 6267016., 6421512., 6576008.,
      6730504., 6885000., 7039496., 7193992., 7348488., 5039376., 5194128.,
      5348880., 5503632., 5658384., 5813136., 5967888., 6122640., 6277392.,
      6432144., 6586896., 6741648., 6896400., 7051152., 7205904., 7360656.,
      5047704., 5202712., 5357720., 5512728., 5667736., 5822744., 5977752.,
      6132760., 6287768., 6442776., 6597784., 6752792., 6907800., 7062808.,
      7217816., 7372824., 5056032., 5211296., 5366560., 5521824., 5677088.,
      5832352., 5987616., 6142880., 6298144., 6453408., 6608672., 6763936.,
      6919200., 7074464., 7229728., 7384992., 5064360., 5219880., 5375400.,
      5530920., 5686440., 5841960., 5997480., 6153000., 6308520., 6464040.,
      6619560., 6775080., 6930600., 7086120., 7241640., 7397160.};
  const int batches = 3;
  const int m = 15;
  const int k = 16;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M16xK14xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      14665.,   35245.,   55825.,   76405.,   96985.,   117565.,  138145.,
      158725.,  179305.,  199885.,  220465.,  241045.,  261625.,  282205.,
      14770.,   35546.,   56322.,   77098.,   97874.,   118650.,  139426.,
      160202.,  180978.,  201754.,  222530.,  243306.,  264082.,  284858.,
      14875.,   35847.,   56819.,   77791.,   98763.,   119735.,  140707.,
      161679.,  182651.,  203623.,  224595.,  245567.,  266539.,  287511.,
      14980.,   36148.,   57316.,   78484.,   99652.,   120820.,  141988.,
      163156.,  184324.,  205492.,  226660.,  247828.,  268996.,  290164.,
      15085.,   36449.,   57813.,   79177.,   100541.,  121905.,  143269.,
      164633.,  185997.,  207361.,  228725.,  250089.,  271453.,  292817.,
      15190.,   36750.,   58310.,   79870.,   101430.,  122990.,  144550.,
      166110.,  187670.,  209230.,  230790.,  252350.,  273910.,  295470.,
      15295.,   37051.,   58807.,   80563.,   102319.,  124075.,  145831.,
      167587.,  189343.,  211099.,  232855.,  254611.,  276367.,  298123.,
      15400.,   37352.,   59304.,   81256.,   103208.,  125160.,  147112.,
      169064.,  191016.,  212968.,  234920.,  256872.,  278824.,  300776.,
      15505.,   37653.,   59801.,   81949.,   104097.,  126245.,  148393.,
      170541.,  192689.,  214837.,  236985.,  259133.,  281281.,  303429.,
      15610.,   37954.,   60298.,   82642.,   104986.,  127330.,  149674.,
      172018.,  194362.,  216706.,  239050.,  261394.,  283738.,  306082.,
      15715.,   38255.,   60795.,   83335.,   105875.,  128415.,  150955.,
      173495.,  196035.,  218575.,  241115.,  263655.,  286195.,  308735.,
      15820.,   38556.,   61292.,   84028.,   106764.,  129500.,  152236.,
      174972.,  197708.,  220444.,  243180.,  265916.,  288652.,  311388.,
      15925.,   38857.,   61789.,   84721.,   107653.,  130585.,  153517.,
      176449.,  199381.,  222313.,  245245.,  268177.,  291109.,  314041.,
      16030.,   39158.,   62286.,   85414.,   108542.,  131670.,  154798.,
      177926.,  201054.,  224182.,  247310.,  270438.,  293566.,  316694.,
      16135.,   39459.,   62783.,   86107.,   109431.,  132755.,  156079.,
      179403.,  202727.,  226051.,  249375.,  272699.,  296023.,  319347.,
      16240.,   39760.,   63280.,   86800.,   110320.,  133840.,  157360.,
      180880.,  204400.,  227920.,  251440.,  274960.,  298480.,  322000.,
      940961.,  1005445., 1069929., 1134413., 1198897., 1263381., 1327865.,
      1392349., 1456833., 1521317., 1585801., 1650285., 1714769., 1779253.,
      943810.,  1008490., 1073170., 1137850., 1202530., 1267210., 1331890.,
      1396570., 1461250., 1525930., 1590610., 1655290., 1719970., 1784650.,
      946659.,  1011535., 1076411., 1141287., 1206163., 1271039., 1335915.,
      1400791., 1465667., 1530543., 1595419., 1660295., 1725171., 1790047.,
      949508.,  1014580., 1079652., 1144724., 1209796., 1274868., 1339940.,
      1405012., 1470084., 1535156., 1600228., 1665300., 1730372., 1795444.,
      952357.,  1017625., 1082893., 1148161., 1213429., 1278697., 1343965.,
      1409233., 1474501., 1539769., 1605037., 1670305., 1735573., 1800841.,
      955206.,  1020670., 1086134., 1151598., 1217062., 1282526., 1347990.,
      1413454., 1478918., 1544382., 1609846., 1675310., 1740774., 1806238.,
      958055.,  1023715., 1089375., 1155035., 1220695., 1286355., 1352015.,
      1417675., 1483335., 1548995., 1614655., 1680315., 1745975., 1811635.,
      960904.,  1026760., 1092616., 1158472., 1224328., 1290184., 1356040.,
      1421896., 1487752., 1553608., 1619464., 1685320., 1751176., 1817032.,
      963753.,  1029805., 1095857., 1161909., 1227961., 1294013., 1360065.,
      1426117., 1492169., 1558221., 1624273., 1690325., 1756377., 1822429.,
      966602.,  1032850., 1099098., 1165346., 1231594., 1297842., 1364090.,
      1430338., 1496586., 1562834., 1629082., 1695330., 1761578., 1827826.,
      969451.,  1035895., 1102339., 1168783., 1235227., 1301671., 1368115.,
      1434559., 1501003., 1567447., 1633891., 1700335., 1766779., 1833223.,
      972300.,  1038940., 1105580., 1172220., 1238860., 1305500., 1372140.,
      1438780., 1505420., 1572060., 1638700., 1705340., 1771980., 1838620.,
      975149.,  1041985., 1108821., 1175657., 1242493., 1309329., 1376165.,
      1443001., 1509837., 1576673., 1643509., 1710345., 1777181., 1844017.,
      977998.,  1045030., 1112062., 1179094., 1246126., 1313158., 1380190.,
      1447222., 1514254., 1581286., 1648318., 1715350., 1782382., 1849414.,
      980847.,  1048075., 1115303., 1182531., 1249759., 1316987., 1384215.,
      1451443., 1518671., 1585899., 1653127., 1720355., 1787583., 1854811.,
      983696.,  1051120., 1118544., 1185968., 1253392., 1320816., 1388240.,
      1455664., 1523088., 1590512., 1657936., 1725360., 1792784., 1860208.,
      3096569., 3204957., 3313345., 3421733., 3530121., 3638509., 3746897.,
      3855285., 3963673., 4072061., 4180449., 4288837., 4397225., 4505613.,
      3102162., 3210746., 3319330., 3427914., 3536498., 3645082., 3753666.,
      3862250., 3970834., 4079418., 4188002., 4296586., 4405170., 4513754.,
      3107755., 3216535., 3325315., 3434095., 3542875., 3651655., 3760435.,
      3869215., 3977995., 4086775., 4195555., 4304335., 4413115., 4521895.,
      3113348., 3222324., 3331300., 3440276., 3549252., 3658228., 3767204.,
      3876180., 3985156., 4094132., 4203108., 4312084., 4421060., 4530036.,
      3118941., 3228113., 3337285., 3446457., 3555629., 3664801., 3773973.,
      3883145., 3992317., 4101489., 4210661., 4319833., 4429005., 4538177.,
      3124534., 3233902., 3343270., 3452638., 3562006., 3671374., 3780742.,
      3890110., 3999478., 4108846., 4218214., 4327582., 4436950., 4546318.,
      3130127., 3239691., 3349255., 3458819., 3568383., 3677947., 3787511.,
      3897075., 4006639., 4116203., 4225767., 4335331., 4444895., 4554459.,
      3135720., 3245480., 3355240., 3465000., 3574760., 3684520., 3794280.,
      3904040., 4013800., 4123560., 4233320., 4343080., 4452840., 4562600.,
      3141313., 3251269., 3361225., 3471181., 3581137., 3691093., 3801049.,
      3911005., 4020961., 4130917., 4240873., 4350829., 4460785., 4570741.,
      3146906., 3257058., 3367210., 3477362., 3587514., 3697666., 3807818.,
      3917970., 4028122., 4138274., 4248426., 4358578., 4468730., 4578882.,
      3152499., 3262847., 3373195., 3483543., 3593891., 3704239., 3814587.,
      3924935., 4035283., 4145631., 4255979., 4366327., 4476675., 4587023.,
      3158092., 3268636., 3379180., 3489724., 3600268., 3710812., 3821356.,
      3931900., 4042444., 4152988., 4263532., 4374076., 4484620., 4595164.,
      3163685., 3274425., 3385165., 3495905., 3606645., 3717385., 3828125.,
      3938865., 4049605., 4160345., 4271085., 4381825., 4492565., 4603305.,
      3169278., 3280214., 3391150., 3502086., 3613022., 3723958., 3834894.,
      3945830., 4056766., 4167702., 4278638., 4389574., 4500510., 4611446.,
      3174871., 3286003., 3397135., 3508267., 3619399., 3730531., 3841663.,
      3952795., 4063927., 4175059., 4286191., 4397323., 4508455., 4619587.,
      3180464., 3291792., 3403120., 3514448., 3625776., 3737104., 3848432.,
      3959760., 4071088., 4182416., 4293744., 4405072., 4516400., 4627728.};
  const int batches = 3;
  const int m = 16;
  const int k = 14;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M16xK14xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      14665.,   35245.,   55825.,   76405.,   96985.,   117565.,  138145.,
      158725.,  179305.,  199885.,  220465.,  241045.,  261625.,  282205.,
      302785.,  14770.,   35546.,   56322.,   77098.,   97874.,   118650.,
      139426.,  160202.,  180978.,  201754.,  222530.,  243306.,  264082.,
      284858.,  305634.,  14875.,   35847.,   56819.,   77791.,   98763.,
      119735.,  140707.,  161679.,  182651.,  203623.,  224595.,  245567.,
      266539.,  287511.,  308483.,  14980.,   36148.,   57316.,   78484.,
      99652.,   120820.,  141988.,  163156.,  184324.,  205492.,  226660.,
      247828.,  268996.,  290164.,  311332.,  15085.,   36449.,   57813.,
      79177.,   100541.,  121905.,  143269.,  164633.,  185997.,  207361.,
      228725.,  250089.,  271453.,  292817.,  314181.,  15190.,   36750.,
      58310.,   79870.,   101430.,  122990.,  144550.,  166110.,  187670.,
      209230.,  230790.,  252350.,  273910.,  295470.,  317030.,  15295.,
      37051.,   58807.,   80563.,   102319.,  124075.,  145831.,  167587.,
      189343.,  211099.,  232855.,  254611.,  276367.,  298123.,  319879.,
      15400.,   37352.,   59304.,   81256.,   103208.,  125160.,  147112.,
      169064.,  191016.,  212968.,  234920.,  256872.,  278824.,  300776.,
      322728.,  15505.,   37653.,   59801.,   81949.,   104097.,  126245.,
      148393.,  170541.,  192689.,  214837.,  236985.,  259133.,  281281.,
      303429.,  325577.,  15610.,   37954.,   60298.,   82642.,   104986.,
      127330.,  149674.,  172018.,  194362.,  216706.,  239050.,  261394.,
      283738.,  306082.,  328426.,  15715.,   38255.,   60795.,   83335.,
      105875.,  128415.,  150955.,  173495.,  196035.,  218575.,  241115.,
      263655.,  286195.,  308735.,  331275.,  15820.,   38556.,   61292.,
      84028.,   106764.,  129500.,  152236.,  174972.,  197708.,  220444.,
      243180.,  265916.,  288652.,  311388.,  334124.,  15925.,   38857.,
      61789.,   84721.,   107653.,  130585.,  153517.,  176449.,  199381.,
      222313.,  245245.,  268177.,  291109.,  314041.,  336973.,  16030.,
      39158.,   62286.,   85414.,   108542.,  131670.,  154798.,  177926.,
      201054.,  224182.,  247310.,  270438.,  293566.,  316694.,  339822.,
      16135.,   39459.,   62783.,   86107.,   109431.,  132755.,  156079.,
      179403.,  202727.,  226051.,  249375.,  272699.,  296023.,  319347.,
      342671.,  16240.,   39760.,   63280.,   86800.,   110320.,  133840.,
      157360.,  180880.,  204400.,  227920.,  251440.,  274960.,  298480.,
      322000.,  345520.,  1005445., 1069929., 1134413., 1198897., 1263381.,
      1327865., 1392349., 1456833., 1521317., 1585801., 1650285., 1714769.,
      1779253., 1843737., 1908221., 1008490., 1073170., 1137850., 1202530.,
      1267210., 1331890., 1396570., 1461250., 1525930., 1590610., 1655290.,
      1719970., 1784650., 1849330., 1914010., 1011535., 1076411., 1141287.,
      1206163., 1271039., 1335915., 1400791., 1465667., 1530543., 1595419.,
      1660295., 1725171., 1790047., 1854923., 1919799., 1014580., 1079652.,
      1144724., 1209796., 1274868., 1339940., 1405012., 1470084., 1535156.,
      1600228., 1665300., 1730372., 1795444., 1860516., 1925588., 1017625.,
      1082893., 1148161., 1213429., 1278697., 1343965., 1409233., 1474501.,
      1539769., 1605037., 1670305., 1735573., 1800841., 1866109., 1931377.,
      1020670., 1086134., 1151598., 1217062., 1282526., 1347990., 1413454.,
      1478918., 1544382., 1609846., 1675310., 1740774., 1806238., 1871702.,
      1937166., 1023715., 1089375., 1155035., 1220695., 1286355., 1352015.,
      1417675., 1483335., 1548995., 1614655., 1680315., 1745975., 1811635.,
      1877295., 1942955., 1026760., 1092616., 1158472., 1224328., 1290184.,
      1356040., 1421896., 1487752., 1553608., 1619464., 1685320., 1751176.,
      1817032., 1882888., 1948744., 1029805., 1095857., 1161909., 1227961.,
      1294013., 1360065., 1426117., 1492169., 1558221., 1624273., 1690325.,
      1756377., 1822429., 1888481., 1954533., 1032850., 1099098., 1165346.,
      1231594., 1297842., 1364090., 1430338., 1496586., 1562834., 1629082.,
      1695330., 1761578., 1827826., 1894074., 1960322., 1035895., 1102339.,
      1168783., 1235227., 1301671., 1368115., 1434559., 1501003., 1567447.,
      1633891., 1700335., 1766779., 1833223., 1899667., 1966111., 1038940.,
      1105580., 1172220., 1238860., 1305500., 1372140., 1438780., 1505420.,
      1572060., 1638700., 1705340., 1771980., 1838620., 1905260., 1971900.,
      1041985., 1108821., 1175657., 1242493., 1309329., 1376165., 1443001.,
      1509837., 1576673., 1643509., 1710345., 1777181., 1844017., 1910853.,
      1977689., 1045030., 1112062., 1179094., 1246126., 1313158., 1380190.,
      1447222., 1514254., 1581286., 1648318., 1715350., 1782382., 1849414.,
      1916446., 1983478., 1048075., 1115303., 1182531., 1249759., 1316987.,
      1384215., 1451443., 1518671., 1585899., 1653127., 1720355., 1787583.,
      1854811., 1922039., 1989267., 1051120., 1118544., 1185968., 1253392.,
      1320816., 1388240., 1455664., 1523088., 1590512., 1657936., 1725360.,
      1792784., 1860208., 1927632., 1995056., 3313345., 3421733., 3530121.,
      3638509., 3746897., 3855285., 3963673., 4072061., 4180449., 4288837.,
      4397225., 4505613., 4614001., 4722389., 4830777., 3319330., 3427914.,
      3536498., 3645082., 3753666., 3862250., 3970834., 4079418., 4188002.,
      4296586., 4405170., 4513754., 4622338., 4730922., 4839506., 3325315.,
      3434095., 3542875., 3651655., 3760435., 3869215., 3977995., 4086775.,
      4195555., 4304335., 4413115., 4521895., 4630675., 4739455., 4848235.,
      3331300., 3440276., 3549252., 3658228., 3767204., 3876180., 3985156.,
      4094132., 4203108., 4312084., 4421060., 4530036., 4639012., 4747988.,
      4856964., 3337285., 3446457., 3555629., 3664801., 3773973., 3883145.,
      3992317., 4101489., 4210661., 4319833., 4429005., 4538177., 4647349.,
      4756521., 4865693., 3343270., 3452638., 3562006., 3671374., 3780742.,
      3890110., 3999478., 4108846., 4218214., 4327582., 4436950., 4546318.,
      4655686., 4765054., 4874422., 3349255., 3458819., 3568383., 3677947.,
      3787511., 3897075., 4006639., 4116203., 4225767., 4335331., 4444895.,
      4554459., 4664023., 4773587., 4883151., 3355240., 3465000., 3574760.,
      3684520., 3794280., 3904040., 4013800., 4123560., 4233320., 4343080.,
      4452840., 4562600., 4672360., 4782120., 4891880., 3361225., 3471181.,
      3581137., 3691093., 3801049., 3911005., 4020961., 4130917., 4240873.,
      4350829., 4460785., 4570741., 4680697., 4790653., 4900609., 3367210.,
      3477362., 3587514., 3697666., 3807818., 3917970., 4028122., 4138274.,
      4248426., 4358578., 4468730., 4578882., 4689034., 4799186., 4909338.,
      3373195., 3483543., 3593891., 3704239., 3814587., 3924935., 4035283.,
      4145631., 4255979., 4366327., 4476675., 4587023., 4697371., 4807719.,
      4918067., 3379180., 3489724., 3600268., 3710812., 3821356., 3931900.,
      4042444., 4152988., 4263532., 4374076., 4484620., 4595164., 4705708.,
      4816252., 4926796., 3385165., 3495905., 3606645., 3717385., 3828125.,
      3938865., 4049605., 4160345., 4271085., 4381825., 4492565., 4603305.,
      4714045., 4824785., 4935525., 3391150., 3502086., 3613022., 3723958.,
      3834894., 3945830., 4056766., 4167702., 4278638., 4389574., 4500510.,
      4611446., 4722382., 4833318., 4944254., 3397135., 3508267., 3619399.,
      3730531., 3841663., 3952795., 4063927., 4175059., 4286191., 4397323.,
      4508455., 4619587., 4730719., 4841851., 4952983., 3403120., 3514448.,
      3625776., 3737104., 3848432., 3959760., 4071088., 4182416., 4293744.,
      4405072., 4516400., 4627728., 4739056., 4850384., 4961712.};
  const int batches = 3;
  const int m = 16;
  const int k = 14;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M16xK14xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      14665.,   35245.,   55825.,   76405.,   96985.,   117565.,  138145.,
      158725.,  179305.,  199885.,  220465.,  241045.,  261625.,  282205.,
      302785.,  323365.,  14770.,   35546.,   56322.,   77098.,   97874.,
      118650.,  139426.,  160202.,  180978.,  201754.,  222530.,  243306.,
      264082.,  284858.,  305634.,  326410.,  14875.,   35847.,   56819.,
      77791.,   98763.,   119735.,  140707.,  161679.,  182651.,  203623.,
      224595.,  245567.,  266539.,  287511.,  308483.,  329455.,  14980.,
      36148.,   57316.,   78484.,   99652.,   120820.,  141988.,  163156.,
      184324.,  205492.,  226660.,  247828.,  268996.,  290164.,  311332.,
      332500.,  15085.,   36449.,   57813.,   79177.,   100541.,  121905.,
      143269.,  164633.,  185997.,  207361.,  228725.,  250089.,  271453.,
      292817.,  314181.,  335545.,  15190.,   36750.,   58310.,   79870.,
      101430.,  122990.,  144550.,  166110.,  187670.,  209230.,  230790.,
      252350.,  273910.,  295470.,  317030.,  338590.,  15295.,   37051.,
      58807.,   80563.,   102319.,  124075.,  145831.,  167587.,  189343.,
      211099.,  232855.,  254611.,  276367.,  298123.,  319879.,  341635.,
      15400.,   37352.,   59304.,   81256.,   103208.,  125160.,  147112.,
      169064.,  191016.,  212968.,  234920.,  256872.,  278824.,  300776.,
      322728.,  344680.,  15505.,   37653.,   59801.,   81949.,   104097.,
      126245.,  148393.,  170541.,  192689.,  214837.,  236985.,  259133.,
      281281.,  303429.,  325577.,  347725.,  15610.,   37954.,   60298.,
      82642.,   104986.,  127330.,  149674.,  172018.,  194362.,  216706.,
      239050.,  261394.,  283738.,  306082.,  328426.,  350770.,  15715.,
      38255.,   60795.,   83335.,   105875.,  128415.,  150955.,  173495.,
      196035.,  218575.,  241115.,  263655.,  286195.,  308735.,  331275.,
      353815.,  15820.,   38556.,   61292.,   84028.,   106764.,  129500.,
      152236.,  174972.,  197708.,  220444.,  243180.,  265916.,  288652.,
      311388.,  334124.,  356860.,  15925.,   38857.,   61789.,   84721.,
      107653.,  130585.,  153517.,  176449.,  199381.,  222313.,  245245.,
      268177.,  291109.,  314041.,  336973.,  359905.,  16030.,   39158.,
      62286.,   85414.,   108542.,  131670.,  154798.,  177926.,  201054.,
      224182.,  247310.,  270438.,  293566.,  316694.,  339822.,  362950.,
      16135.,   39459.,   62783.,   86107.,   109431.,  132755.,  156079.,
      179403.,  202727.,  226051.,  249375.,  272699.,  296023.,  319347.,
      342671.,  365995.,  16240.,   39760.,   63280.,   86800.,   110320.,
      133840.,  157360.,  180880.,  204400.,  227920.,  251440.,  274960.,
      298480.,  322000.,  345520.,  369040.,  1069929., 1134413., 1198897.,
      1263381., 1327865., 1392349., 1456833., 1521317., 1585801., 1650285.,
      1714769., 1779253., 1843737., 1908221., 1972705., 2037189., 1073170.,
      1137850., 1202530., 1267210., 1331890., 1396570., 1461250., 1525930.,
      1590610., 1655290., 1719970., 1784650., 1849330., 1914010., 1978690.,
      2043370., 1076411., 1141287., 1206163., 1271039., 1335915., 1400791.,
      1465667., 1530543., 1595419., 1660295., 1725171., 1790047., 1854923.,
      1919799., 1984675., 2049551., 1079652., 1144724., 1209796., 1274868.,
      1339940., 1405012., 1470084., 1535156., 1600228., 1665300., 1730372.,
      1795444., 1860516., 1925588., 1990660., 2055732., 1082893., 1148161.,
      1213429., 1278697., 1343965., 1409233., 1474501., 1539769., 1605037.,
      1670305., 1735573., 1800841., 1866109., 1931377., 1996645., 2061913.,
      1086134., 1151598., 1217062., 1282526., 1347990., 1413454., 1478918.,
      1544382., 1609846., 1675310., 1740774., 1806238., 1871702., 1937166.,
      2002630., 2068094., 1089375., 1155035., 1220695., 1286355., 1352015.,
      1417675., 1483335., 1548995., 1614655., 1680315., 1745975., 1811635.,
      1877295., 1942955., 2008615., 2074275., 1092616., 1158472., 1224328.,
      1290184., 1356040., 1421896., 1487752., 1553608., 1619464., 1685320.,
      1751176., 1817032., 1882888., 1948744., 2014600., 2080456., 1095857.,
      1161909., 1227961., 1294013., 1360065., 1426117., 1492169., 1558221.,
      1624273., 1690325., 1756377., 1822429., 1888481., 1954533., 2020585.,
      2086637., 1099098., 1165346., 1231594., 1297842., 1364090., 1430338.,
      1496586., 1562834., 1629082., 1695330., 1761578., 1827826., 1894074.,
      1960322., 2026570., 2092818., 1102339., 1168783., 1235227., 1301671.,
      1368115., 1434559., 1501003., 1567447., 1633891., 1700335., 1766779.,
      1833223., 1899667., 1966111., 2032555., 2098999., 1105580., 1172220.,
      1238860., 1305500., 1372140., 1438780., 1505420., 1572060., 1638700.,
      1705340., 1771980., 1838620., 1905260., 1971900., 2038540., 2105180.,
      1108821., 1175657., 1242493., 1309329., 1376165., 1443001., 1509837.,
      1576673., 1643509., 1710345., 1777181., 1844017., 1910853., 1977689.,
      2044525., 2111361., 1112062., 1179094., 1246126., 1313158., 1380190.,
      1447222., 1514254., 1581286., 1648318., 1715350., 1782382., 1849414.,
      1916446., 1983478., 2050510., 2117542., 1115303., 1182531., 1249759.,
      1316987., 1384215., 1451443., 1518671., 1585899., 1653127., 1720355.,
      1787583., 1854811., 1922039., 1989267., 2056495., 2123723., 1118544.,
      1185968., 1253392., 1320816., 1388240., 1455664., 1523088., 1590512.,
      1657936., 1725360., 1792784., 1860208., 1927632., 1995056., 2062480.,
      2129904., 3530121., 3638509., 3746897., 3855285., 3963673., 4072061.,
      4180449., 4288837., 4397225., 4505613., 4614001., 4722389., 4830777.,
      4939165., 5047553., 5155941., 3536498., 3645082., 3753666., 3862250.,
      3970834., 4079418., 4188002., 4296586., 4405170., 4513754., 4622338.,
      4730922., 4839506., 4948090., 5056674., 5165258., 3542875., 3651655.,
      3760435., 3869215., 3977995., 4086775., 4195555., 4304335., 4413115.,
      4521895., 4630675., 4739455., 4848235., 4957015., 5065795., 5174575.,
      3549252., 3658228., 3767204., 3876180., 3985156., 4094132., 4203108.,
      4312084., 4421060., 4530036., 4639012., 4747988., 4856964., 4965940.,
      5074916., 5183892., 3555629., 3664801., 3773973., 3883145., 3992317.,
      4101489., 4210661., 4319833., 4429005., 4538177., 4647349., 4756521.,
      4865693., 4974865., 5084037., 5193209., 3562006., 3671374., 3780742.,
      3890110., 3999478., 4108846., 4218214., 4327582., 4436950., 4546318.,
      4655686., 4765054., 4874422., 4983790., 5093158., 5202526., 3568383.,
      3677947., 3787511., 3897075., 4006639., 4116203., 4225767., 4335331.,
      4444895., 4554459., 4664023., 4773587., 4883151., 4992715., 5102279.,
      5211843., 3574760., 3684520., 3794280., 3904040., 4013800., 4123560.,
      4233320., 4343080., 4452840., 4562600., 4672360., 4782120., 4891880.,
      5001640., 5111400., 5221160., 3581137., 3691093., 3801049., 3911005.,
      4020961., 4130917., 4240873., 4350829., 4460785., 4570741., 4680697.,
      4790653., 4900609., 5010565., 5120521., 5230477., 3587514., 3697666.,
      3807818., 3917970., 4028122., 4138274., 4248426., 4358578., 4468730.,
      4578882., 4689034., 4799186., 4909338., 5019490., 5129642., 5239794.,
      3593891., 3704239., 3814587., 3924935., 4035283., 4145631., 4255979.,
      4366327., 4476675., 4587023., 4697371., 4807719., 4918067., 5028415.,
      5138763., 5249111., 3600268., 3710812., 3821356., 3931900., 4042444.,
      4152988., 4263532., 4374076., 4484620., 4595164., 4705708., 4816252.,
      4926796., 5037340., 5147884., 5258428., 3606645., 3717385., 3828125.,
      3938865., 4049605., 4160345., 4271085., 4381825., 4492565., 4603305.,
      4714045., 4824785., 4935525., 5046265., 5157005., 5267745., 3613022.,
      3723958., 3834894., 3945830., 4056766., 4167702., 4278638., 4389574.,
      4500510., 4611446., 4722382., 4833318., 4944254., 5055190., 5166126.,
      5277062., 3619399., 3730531., 3841663., 3952795., 4063927., 4175059.,
      4286191., 4397323., 4508455., 4619587., 4730719., 4841851., 4952983.,
      5064115., 5175247., 5286379., 3625776., 3737104., 3848432., 3959760.,
      4071088., 4182416., 4293744., 4405072., 4516400., 4627728., 4739056.,
      4850384., 4961712., 5073040., 5184368., 5295696.};
  const int batches = 3;
  const int m = 16;
  const int k = 14;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M16xK15xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      18040.,   43465.,   68890.,   94315.,   119740.,  145165.,  170590.,
      196015.,  221440.,  246865.,  272290.,  297715.,  323140.,  348565.,
      18160.,   43810.,   69460.,   95110.,   120760.,  146410.,  172060.,
      197710.,  223360.,  249010.,  274660.,  300310.,  325960.,  351610.,
      18280.,   44155.,   70030.,   95905.,   121780.,  147655.,  173530.,
      199405.,  225280.,  251155.,  277030.,  302905.,  328780.,  354655.,
      18400.,   44500.,   70600.,   96700.,   122800.,  148900.,  175000.,
      201100.,  227200.,  253300.,  279400.,  305500.,  331600.,  357700.,
      18520.,   44845.,   71170.,   97495.,   123820.,  150145.,  176470.,
      202795.,  229120.,  255445.,  281770.,  308095.,  334420.,  360745.,
      18640.,   45190.,   71740.,   98290.,   124840.,  151390.,  177940.,
      204490.,  231040.,  257590.,  284140.,  310690.,  337240.,  363790.,
      18760.,   45535.,   72310.,   99085.,   125860.,  152635.,  179410.,
      206185.,  232960.,  259735.,  286510.,  313285.,  340060.,  366835.,
      18880.,   45880.,   72880.,   99880.,   126880.,  153880.,  180880.,
      207880.,  234880.,  261880.,  288880.,  315880.,  342880.,  369880.,
      19000.,   46225.,   73450.,   100675.,  127900.,  155125.,  182350.,
      209575.,  236800.,  264025.,  291250.,  318475.,  345700.,  372925.,
      19120.,   46570.,   74020.,   101470.,  128920.,  156370.,  183820.,
      211270.,  238720.,  266170.,  293620.,  321070.,  348520.,  375970.,
      19240.,   46915.,   74590.,   102265.,  129940.,  157615.,  185290.,
      212965.,  240640.,  268315.,  295990.,  323665.,  351340.,  379015.,
      19360.,   47260.,   75160.,   103060.,  130960.,  158860.,  186760.,
      214660.,  242560.,  270460.,  298360.,  326260.,  354160.,  382060.,
      19480.,   47605.,   75730.,   103855.,  131980.,  160105.,  188230.,
      216355.,  244480.,  272605.,  300730.,  328855.,  356980.,  385105.,
      19600.,   47950.,   76300.,   104650.,  133000.,  161350.,  189700.,
      218050.,  246400.,  274750.,  303100.,  331450.,  359800.,  388150.,
      19720.,   48295.,   76870.,   105445.,  134020.,  162595.,  191170.,
      219745.,  248320.,  276895.,  305470.,  334045.,  362620.,  391195.,
      19840.,   48640.,   77440.,   106240.,  135040.,  163840.,  192640.,
      221440.,  250240.,  279040.,  307840.,  336640.,  365440.,  394240.,
      1158790., 1238215., 1317640., 1397065., 1476490., 1555915., 1635340.,
      1714765., 1794190., 1873615., 1953040., 2032465., 2111890., 2191315.,
      1162060., 1241710., 1321360., 1401010., 1480660., 1560310., 1639960.,
      1719610., 1799260., 1878910., 1958560., 2038210., 2117860., 2197510.,
      1165330., 1245205., 1325080., 1404955., 1484830., 1564705., 1644580.,
      1724455., 1804330., 1884205., 1964080., 2043955., 2123830., 2203705.,
      1168600., 1248700., 1328800., 1408900., 1489000., 1569100., 1649200.,
      1729300., 1809400., 1889500., 1969600., 2049700., 2129800., 2209900.,
      1171870., 1252195., 1332520., 1412845., 1493170., 1573495., 1653820.,
      1734145., 1814470., 1894795., 1975120., 2055445., 2135770., 2216095.,
      1175140., 1255690., 1336240., 1416790., 1497340., 1577890., 1658440.,
      1738990., 1819540., 1900090., 1980640., 2061190., 2141740., 2222290.,
      1178410., 1259185., 1339960., 1420735., 1501510., 1582285., 1663060.,
      1743835., 1824610., 1905385., 1986160., 2066935., 2147710., 2228485.,
      1181680., 1262680., 1343680., 1424680., 1505680., 1586680., 1667680.,
      1748680., 1829680., 1910680., 1991680., 2072680., 2153680., 2234680.,
      1184950., 1266175., 1347400., 1428625., 1509850., 1591075., 1672300.,
      1753525., 1834750., 1915975., 1997200., 2078425., 2159650., 2240875.,
      1188220., 1269670., 1351120., 1432570., 1514020., 1595470., 1676920.,
      1758370., 1839820., 1921270., 2002720., 2084170., 2165620., 2247070.,
      1191490., 1273165., 1354840., 1436515., 1518190., 1599865., 1681540.,
      1763215., 1844890., 1926565., 2008240., 2089915., 2171590., 2253265.,
      1194760., 1276660., 1358560., 1440460., 1522360., 1604260., 1686160.,
      1768060., 1849960., 1931860., 2013760., 2095660., 2177560., 2259460.,
      1198030., 1280155., 1362280., 1444405., 1526530., 1608655., 1690780.,
      1772905., 1855030., 1937155., 2019280., 2101405., 2183530., 2265655.,
      1201300., 1283650., 1366000., 1448350., 1530700., 1613050., 1695400.,
      1777750., 1860100., 1942450., 2024800., 2107150., 2189500., 2271850.,
      1204570., 1287145., 1369720., 1452295., 1534870., 1617445., 1700020.,
      1782595., 1865170., 1947745., 2030320., 2112895., 2195470., 2278045.,
      1207840., 1290640., 1373440., 1456240., 1539040., 1621840., 1704640.,
      1787440., 1870240., 1953040., 2035840., 2118640., 2201440., 2284240.,
      3811540., 3944965., 4078390., 4211815., 4345240., 4478665., 4612090.,
      4745515., 4878940., 5012365., 5145790., 5279215., 5412640., 5546065.,
      3817960., 3951610., 4085260., 4218910., 4352560., 4486210., 4619860.,
      4753510., 4887160., 5020810., 5154460., 5288110., 5421760., 5555410.,
      3824380., 3958255., 4092130., 4226005., 4359880., 4493755., 4627630.,
      4761505., 4895380., 5029255., 5163130., 5297005., 5430880., 5564755.,
      3830800., 3964900., 4099000., 4233100., 4367200., 4501300., 4635400.,
      4769500., 4903600., 5037700., 5171800., 5305900., 5440000., 5574100.,
      3837220., 3971545., 4105870., 4240195., 4374520., 4508845., 4643170.,
      4777495., 4911820., 5046145., 5180470., 5314795., 5449120., 5583445.,
      3843640., 3978190., 4112740., 4247290., 4381840., 4516390., 4650940.,
      4785490., 4920040., 5054590., 5189140., 5323690., 5458240., 5592790.,
      3850060., 3984835., 4119610., 4254385., 4389160., 4523935., 4658710.,
      4793485., 4928260., 5063035., 5197810., 5332585., 5467360., 5602135.,
      3856480., 3991480., 4126480., 4261480., 4396480., 4531480., 4666480.,
      4801480., 4936480., 5071480., 5206480., 5341480., 5476480., 5611480.,
      3862900., 3998125., 4133350., 4268575., 4403800., 4539025., 4674250.,
      4809475., 4944700., 5079925., 5215150., 5350375., 5485600., 5620825.,
      3869320., 4004770., 4140220., 4275670., 4411120., 4546570., 4682020.,
      4817470., 4952920., 5088370., 5223820., 5359270., 5494720., 5630170.,
      3875740., 4011415., 4147090., 4282765., 4418440., 4554115., 4689790.,
      4825465., 4961140., 5096815., 5232490., 5368165., 5503840., 5639515.,
      3882160., 4018060., 4153960., 4289860., 4425760., 4561660., 4697560.,
      4833460., 4969360., 5105260., 5241160., 5377060., 5512960., 5648860.,
      3888580., 4024705., 4160830., 4296955., 4433080., 4569205., 4705330.,
      4841455., 4977580., 5113705., 5249830., 5385955., 5522080., 5658205.,
      3895000., 4031350., 4167700., 4304050., 4440400., 4576750., 4713100.,
      4849450., 4985800., 5122150., 5258500., 5394850., 5531200., 5667550.,
      3901420., 4037995., 4174570., 4311145., 4447720., 4584295., 4720870.,
      4857445., 4994020., 5130595., 5267170., 5403745., 5540320., 5676895.,
      3907840., 4044640., 4181440., 4318240., 4455040., 4591840., 4728640.,
      4865440., 5002240., 5139040., 5275840., 5412640., 5549440., 5686240.};
  const int batches = 3;
  const int m = 16;
  const int k = 15;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M16xK15xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      18040.,   43465.,   68890.,   94315.,   119740.,  145165.,  170590.,
      196015.,  221440.,  246865.,  272290.,  297715.,  323140.,  348565.,
      373990.,  18160.,   43810.,   69460.,   95110.,   120760.,  146410.,
      172060.,  197710.,  223360.,  249010.,  274660.,  300310.,  325960.,
      351610.,  377260.,  18280.,   44155.,   70030.,   95905.,   121780.,
      147655.,  173530.,  199405.,  225280.,  251155.,  277030.,  302905.,
      328780.,  354655.,  380530.,  18400.,   44500.,   70600.,   96700.,
      122800.,  148900.,  175000.,  201100.,  227200.,  253300.,  279400.,
      305500.,  331600.,  357700.,  383800.,  18520.,   44845.,   71170.,
      97495.,   123820.,  150145.,  176470.,  202795.,  229120.,  255445.,
      281770.,  308095.,  334420.,  360745.,  387070.,  18640.,   45190.,
      71740.,   98290.,   124840.,  151390.,  177940.,  204490.,  231040.,
      257590.,  284140.,  310690.,  337240.,  363790.,  390340.,  18760.,
      45535.,   72310.,   99085.,   125860.,  152635.,  179410.,  206185.,
      232960.,  259735.,  286510.,  313285.,  340060.,  366835.,  393610.,
      18880.,   45880.,   72880.,   99880.,   126880.,  153880.,  180880.,
      207880.,  234880.,  261880.,  288880.,  315880.,  342880.,  369880.,
      396880.,  19000.,   46225.,   73450.,   100675.,  127900.,  155125.,
      182350.,  209575.,  236800.,  264025.,  291250.,  318475.,  345700.,
      372925.,  400150.,  19120.,   46570.,   74020.,   101470.,  128920.,
      156370.,  183820.,  211270.,  238720.,  266170.,  293620.,  321070.,
      348520.,  375970.,  403420.,  19240.,   46915.,   74590.,   102265.,
      129940.,  157615.,  185290.,  212965.,  240640.,  268315.,  295990.,
      323665.,  351340.,  379015.,  406690.,  19360.,   47260.,   75160.,
      103060.,  130960.,  158860.,  186760.,  214660.,  242560.,  270460.,
      298360.,  326260.,  354160.,  382060.,  409960.,  19480.,   47605.,
      75730.,   103855.,  131980.,  160105.,  188230.,  216355.,  244480.,
      272605.,  300730.,  328855.,  356980.,  385105.,  413230.,  19600.,
      47950.,   76300.,   104650.,  133000.,  161350.,  189700.,  218050.,
      246400.,  274750.,  303100.,  331450.,  359800.,  388150.,  416500.,
      19720.,   48295.,   76870.,   105445.,  134020.,  162595.,  191170.,
      219745.,  248320.,  276895.,  305470.,  334045.,  362620.,  391195.,
      419770.,  19840.,   48640.,   77440.,   106240.,  135040.,  163840.,
      192640.,  221440.,  250240.,  279040.,  307840.,  336640.,  365440.,
      394240.,  423040.,  1238215., 1317640., 1397065., 1476490., 1555915.,
      1635340., 1714765., 1794190., 1873615., 1953040., 2032465., 2111890.,
      2191315., 2270740., 2350165., 1241710., 1321360., 1401010., 1480660.,
      1560310., 1639960., 1719610., 1799260., 1878910., 1958560., 2038210.,
      2117860., 2197510., 2277160., 2356810., 1245205., 1325080., 1404955.,
      1484830., 1564705., 1644580., 1724455., 1804330., 1884205., 1964080.,
      2043955., 2123830., 2203705., 2283580., 2363455., 1248700., 1328800.,
      1408900., 1489000., 1569100., 1649200., 1729300., 1809400., 1889500.,
      1969600., 2049700., 2129800., 2209900., 2290000., 2370100., 1252195.,
      1332520., 1412845., 1493170., 1573495., 1653820., 1734145., 1814470.,
      1894795., 1975120., 2055445., 2135770., 2216095., 2296420., 2376745.,
      1255690., 1336240., 1416790., 1497340., 1577890., 1658440., 1738990.,
      1819540., 1900090., 1980640., 2061190., 2141740., 2222290., 2302840.,
      2383390., 1259185., 1339960., 1420735., 1501510., 1582285., 1663060.,
      1743835., 1824610., 1905385., 1986160., 2066935., 2147710., 2228485.,
      2309260., 2390035., 1262680., 1343680., 1424680., 1505680., 1586680.,
      1667680., 1748680., 1829680., 1910680., 1991680., 2072680., 2153680.,
      2234680., 2315680., 2396680., 1266175., 1347400., 1428625., 1509850.,
      1591075., 1672300., 1753525., 1834750., 1915975., 1997200., 2078425.,
      2159650., 2240875., 2322100., 2403325., 1269670., 1351120., 1432570.,
      1514020., 1595470., 1676920., 1758370., 1839820., 1921270., 2002720.,
      2084170., 2165620., 2247070., 2328520., 2409970., 1273165., 1354840.,
      1436515., 1518190., 1599865., 1681540., 1763215., 1844890., 1926565.,
      2008240., 2089915., 2171590., 2253265., 2334940., 2416615., 1276660.,
      1358560., 1440460., 1522360., 1604260., 1686160., 1768060., 1849960.,
      1931860., 2013760., 2095660., 2177560., 2259460., 2341360., 2423260.,
      1280155., 1362280., 1444405., 1526530., 1608655., 1690780., 1772905.,
      1855030., 1937155., 2019280., 2101405., 2183530., 2265655., 2347780.,
      2429905., 1283650., 1366000., 1448350., 1530700., 1613050., 1695400.,
      1777750., 1860100., 1942450., 2024800., 2107150., 2189500., 2271850.,
      2354200., 2436550., 1287145., 1369720., 1452295., 1534870., 1617445.,
      1700020., 1782595., 1865170., 1947745., 2030320., 2112895., 2195470.,
      2278045., 2360620., 2443195., 1290640., 1373440., 1456240., 1539040.,
      1621840., 1704640., 1787440., 1870240., 1953040., 2035840., 2118640.,
      2201440., 2284240., 2367040., 2449840., 4078390., 4211815., 4345240.,
      4478665., 4612090., 4745515., 4878940., 5012365., 5145790., 5279215.,
      5412640., 5546065., 5679490., 5812915., 5946340., 4085260., 4218910.,
      4352560., 4486210., 4619860., 4753510., 4887160., 5020810., 5154460.,
      5288110., 5421760., 5555410., 5689060., 5822710., 5956360., 4092130.,
      4226005., 4359880., 4493755., 4627630., 4761505., 4895380., 5029255.,
      5163130., 5297005., 5430880., 5564755., 5698630., 5832505., 5966380.,
      4099000., 4233100., 4367200., 4501300., 4635400., 4769500., 4903600.,
      5037700., 5171800., 5305900., 5440000., 5574100., 5708200., 5842300.,
      5976400., 4105870., 4240195., 4374520., 4508845., 4643170., 4777495.,
      4911820., 5046145., 5180470., 5314795., 5449120., 5583445., 5717770.,
      5852095., 5986420., 4112740., 4247290., 4381840., 4516390., 4650940.,
      4785490., 4920040., 5054590., 5189140., 5323690., 5458240., 5592790.,
      5727340., 5861890., 5996440., 4119610., 4254385., 4389160., 4523935.,
      4658710., 4793485., 4928260., 5063035., 5197810., 5332585., 5467360.,
      5602135., 5736910., 5871685., 6006460., 4126480., 4261480., 4396480.,
      4531480., 4666480., 4801480., 4936480., 5071480., 5206480., 5341480.,
      5476480., 5611480., 5746480., 5881480., 6016480., 4133350., 4268575.,
      4403800., 4539025., 4674250., 4809475., 4944700., 5079925., 5215150.,
      5350375., 5485600., 5620825., 5756050., 5891275., 6026500., 4140220.,
      4275670., 4411120., 4546570., 4682020., 4817470., 4952920., 5088370.,
      5223820., 5359270., 5494720., 5630170., 5765620., 5901070., 6036520.,
      4147090., 4282765., 4418440., 4554115., 4689790., 4825465., 4961140.,
      5096815., 5232490., 5368165., 5503840., 5639515., 5775190., 5910865.,
      6046540., 4153960., 4289860., 4425760., 4561660., 4697560., 4833460.,
      4969360., 5105260., 5241160., 5377060., 5512960., 5648860., 5784760.,
      5920660., 6056560., 4160830., 4296955., 4433080., 4569205., 4705330.,
      4841455., 4977580., 5113705., 5249830., 5385955., 5522080., 5658205.,
      5794330., 5930455., 6066580., 4167700., 4304050., 4440400., 4576750.,
      4713100., 4849450., 4985800., 5122150., 5258500., 5394850., 5531200.,
      5667550., 5803900., 5940250., 6076600., 4174570., 4311145., 4447720.,
      4584295., 4720870., 4857445., 4994020., 5130595., 5267170., 5403745.,
      5540320., 5676895., 5813470., 5950045., 6086620., 4181440., 4318240.,
      4455040., 4591840., 4728640., 4865440., 5002240., 5139040., 5275840.,
      5412640., 5549440., 5686240., 5823040., 5959840., 6096640.};
  const int batches = 3;
  const int m = 16;
  const int k = 15;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M16xK15xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      18040.,   43465.,   68890.,   94315.,   119740.,  145165.,  170590.,
      196015.,  221440.,  246865.,  272290.,  297715.,  323140.,  348565.,
      373990.,  399415.,  18160.,   43810.,   69460.,   95110.,   120760.,
      146410.,  172060.,  197710.,  223360.,  249010.,  274660.,  300310.,
      325960.,  351610.,  377260.,  402910.,  18280.,   44155.,   70030.,
      95905.,   121780.,  147655.,  173530.,  199405.,  225280.,  251155.,
      277030.,  302905.,  328780.,  354655.,  380530.,  406405.,  18400.,
      44500.,   70600.,   96700.,   122800.,  148900.,  175000.,  201100.,
      227200.,  253300.,  279400.,  305500.,  331600.,  357700.,  383800.,
      409900.,  18520.,   44845.,   71170.,   97495.,   123820.,  150145.,
      176470.,  202795.,  229120.,  255445.,  281770.,  308095.,  334420.,
      360745.,  387070.,  413395.,  18640.,   45190.,   71740.,   98290.,
      124840.,  151390.,  177940.,  204490.,  231040.,  257590.,  284140.,
      310690.,  337240.,  363790.,  390340.,  416890.,  18760.,   45535.,
      72310.,   99085.,   125860.,  152635.,  179410.,  206185.,  232960.,
      259735.,  286510.,  313285.,  340060.,  366835.,  393610.,  420385.,
      18880.,   45880.,   72880.,   99880.,   126880.,  153880.,  180880.,
      207880.,  234880.,  261880.,  288880.,  315880.,  342880.,  369880.,
      396880.,  423880.,  19000.,   46225.,   73450.,   100675.,  127900.,
      155125.,  182350.,  209575.,  236800.,  264025.,  291250.,  318475.,
      345700.,  372925.,  400150.,  427375.,  19120.,   46570.,   74020.,
      101470.,  128920.,  156370.,  183820.,  211270.,  238720.,  266170.,
      293620.,  321070.,  348520.,  375970.,  403420.,  430870.,  19240.,
      46915.,   74590.,   102265.,  129940.,  157615.,  185290.,  212965.,
      240640.,  268315.,  295990.,  323665.,  351340.,  379015.,  406690.,
      434365.,  19360.,   47260.,   75160.,   103060.,  130960.,  158860.,
      186760.,  214660.,  242560.,  270460.,  298360.,  326260.,  354160.,
      382060.,  409960.,  437860.,  19480.,   47605.,   75730.,   103855.,
      131980.,  160105.,  188230.,  216355.,  244480.,  272605.,  300730.,
      328855.,  356980.,  385105.,  413230.,  441355.,  19600.,   47950.,
      76300.,   104650.,  133000.,  161350.,  189700.,  218050.,  246400.,
      274750.,  303100.,  331450.,  359800.,  388150.,  416500.,  444850.,
      19720.,   48295.,   76870.,   105445.,  134020.,  162595.,  191170.,
      219745.,  248320.,  276895.,  305470.,  334045.,  362620.,  391195.,
      419770.,  448345.,  19840.,   48640.,   77440.,   106240.,  135040.,
      163840.,  192640.,  221440.,  250240.,  279040.,  307840.,  336640.,
      365440.,  394240.,  423040.,  451840.,  1317640., 1397065., 1476490.,
      1555915., 1635340., 1714765., 1794190., 1873615., 1953040., 2032465.,
      2111890., 2191315., 2270740., 2350165., 2429590., 2509015., 1321360.,
      1401010., 1480660., 1560310., 1639960., 1719610., 1799260., 1878910.,
      1958560., 2038210., 2117860., 2197510., 2277160., 2356810., 2436460.,
      2516110., 1325080., 1404955., 1484830., 1564705., 1644580., 1724455.,
      1804330., 1884205., 1964080., 2043955., 2123830., 2203705., 2283580.,
      2363455., 2443330., 2523205., 1328800., 1408900., 1489000., 1569100.,
      1649200., 1729300., 1809400., 1889500., 1969600., 2049700., 2129800.,
      2209900., 2290000., 2370100., 2450200., 2530300., 1332520., 1412845.,
      1493170., 1573495., 1653820., 1734145., 1814470., 1894795., 1975120.,
      2055445., 2135770., 2216095., 2296420., 2376745., 2457070., 2537395.,
      1336240., 1416790., 1497340., 1577890., 1658440., 1738990., 1819540.,
      1900090., 1980640., 2061190., 2141740., 2222290., 2302840., 2383390.,
      2463940., 2544490., 1339960., 1420735., 1501510., 1582285., 1663060.,
      1743835., 1824610., 1905385., 1986160., 2066935., 2147710., 2228485.,
      2309260., 2390035., 2470810., 2551585., 1343680., 1424680., 1505680.,
      1586680., 1667680., 1748680., 1829680., 1910680., 1991680., 2072680.,
      2153680., 2234680., 2315680., 2396680., 2477680., 2558680., 1347400.,
      1428625., 1509850., 1591075., 1672300., 1753525., 1834750., 1915975.,
      1997200., 2078425., 2159650., 2240875., 2322100., 2403325., 2484550.,
      2565775., 1351120., 1432570., 1514020., 1595470., 1676920., 1758370.,
      1839820., 1921270., 2002720., 2084170., 2165620., 2247070., 2328520.,
      2409970., 2491420., 2572870., 1354840., 1436515., 1518190., 1599865.,
      1681540., 1763215., 1844890., 1926565., 2008240., 2089915., 2171590.,
      2253265., 2334940., 2416615., 2498290., 2579965., 1358560., 1440460.,
      1522360., 1604260., 1686160., 1768060., 1849960., 1931860., 2013760.,
      2095660., 2177560., 2259460., 2341360., 2423260., 2505160., 2587060.,
      1362280., 1444405., 1526530., 1608655., 1690780., 1772905., 1855030.,
      1937155., 2019280., 2101405., 2183530., 2265655., 2347780., 2429905.,
      2512030., 2594155., 1366000., 1448350., 1530700., 1613050., 1695400.,
      1777750., 1860100., 1942450., 2024800., 2107150., 2189500., 2271850.,
      2354200., 2436550., 2518900., 2601250., 1369720., 1452295., 1534870.,
      1617445., 1700020., 1782595., 1865170., 1947745., 2030320., 2112895.,
      2195470., 2278045., 2360620., 2443195., 2525770., 2608345., 1373440.,
      1456240., 1539040., 1621840., 1704640., 1787440., 1870240., 1953040.,
      2035840., 2118640., 2201440., 2284240., 2367040., 2449840., 2532640.,
      2615440., 4345240., 4478665., 4612090., 4745515., 4878940., 5012365.,
      5145790., 5279215., 5412640., 5546065., 5679490., 5812915., 5946340.,
      6079765., 6213190., 6346615., 4352560., 4486210., 4619860., 4753510.,
      4887160., 5020810., 5154460., 5288110., 5421760., 5555410., 5689060.,
      5822710., 5956360., 6090010., 6223660., 6357310., 4359880., 4493755.,
      4627630., 4761505., 4895380., 5029255., 5163130., 5297005., 5430880.,
      5564755., 5698630., 5832505., 5966380., 6100255., 6234130., 6368005.,
      4367200., 4501300., 4635400., 4769500., 4903600., 5037700., 5171800.,
      5305900., 5440000., 5574100., 5708200., 5842300., 5976400., 6110500.,
      6244600., 6378700., 4374520., 4508845., 4643170., 4777495., 4911820.,
      5046145., 5180470., 5314795., 5449120., 5583445., 5717770., 5852095.,
      5986420., 6120745., 6255070., 6389395., 4381840., 4516390., 4650940.,
      4785490., 4920040., 5054590., 5189140., 5323690., 5458240., 5592790.,
      5727340., 5861890., 5996440., 6130990., 6265540., 6400090., 4389160.,
      4523935., 4658710., 4793485., 4928260., 5063035., 5197810., 5332585.,
      5467360., 5602135., 5736910., 5871685., 6006460., 6141235., 6276010.,
      6410785., 4396480., 4531480., 4666480., 4801480., 4936480., 5071480.,
      5206480., 5341480., 5476480., 5611480., 5746480., 5881480., 6016480.,
      6151480., 6286480., 6421480., 4403800., 4539025., 4674250., 4809475.,
      4944700., 5079925., 5215150., 5350375., 5485600., 5620825., 5756050.,
      5891275., 6026500., 6161725., 6296950., 6432175., 4411120., 4546570.,
      4682020., 4817470., 4952920., 5088370., 5223820., 5359270., 5494720.,
      5630170., 5765620., 5901070., 6036520., 6171970., 6307420., 6442870.,
      4418440., 4554115., 4689790., 4825465., 4961140., 5096815., 5232490.,
      5368165., 5503840., 5639515., 5775190., 5910865., 6046540., 6182215.,
      6317890., 6453565., 4425760., 4561660., 4697560., 4833460., 4969360.,
      5105260., 5241160., 5377060., 5512960., 5648860., 5784760., 5920660.,
      6056560., 6192460., 6328360., 6464260., 4433080., 4569205., 4705330.,
      4841455., 4977580., 5113705., 5249830., 5385955., 5522080., 5658205.,
      5794330., 5930455., 6066580., 6202705., 6338830., 6474955., 4440400.,
      4576750., 4713100., 4849450., 4985800., 5122150., 5258500., 5394850.,
      5531200., 5667550., 5803900., 5940250., 6076600., 6212950., 6349300.,
      6485650., 4447720., 4584295., 4720870., 4857445., 4994020., 5130595.,
      5267170., 5403745., 5540320., 5676895., 5813470., 5950045., 6086620.,
      6223195., 6359770., 6496345., 4455040., 4591840., 4728640., 4865440.,
      5002240., 5139040., 5275840., 5412640., 5549440., 5686240., 5823040.,
      5959840., 6096640., 6233440., 6370240., 6507040.};
  const int batches = 3;
  const int m = 16;
  const int k = 15;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M16xK16xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      21896.,   52872.,   83848.,   114824.,  145800.,  176776.,  207752.,
      238728.,  269704.,  300680.,  331656.,  362632.,  393608.,  424584.,
      22032.,   53264.,   84496.,   115728.,  146960.,  178192.,  209424.,
      240656.,  271888.,  303120.,  334352.,  365584.,  396816.,  428048.,
      22168.,   53656.,   85144.,   116632.,  148120.,  179608.,  211096.,
      242584.,  274072.,  305560.,  337048.,  368536.,  400024.,  431512.,
      22304.,   54048.,   85792.,   117536.,  149280.,  181024.,  212768.,
      244512.,  276256.,  308000.,  339744.,  371488.,  403232.,  434976.,
      22440.,   54440.,   86440.,   118440.,  150440.,  182440.,  214440.,
      246440.,  278440.,  310440.,  342440.,  374440.,  406440.,  438440.,
      22576.,   54832.,   87088.,   119344.,  151600.,  183856.,  216112.,
      248368.,  280624.,  312880.,  345136.,  377392.,  409648.,  441904.,
      22712.,   55224.,   87736.,   120248.,  152760.,  185272.,  217784.,
      250296.,  282808.,  315320.,  347832.,  380344.,  412856.,  445368.,
      22848.,   55616.,   88384.,   121152.,  153920.,  186688.,  219456.,
      252224.,  284992.,  317760.,  350528.,  383296.,  416064.,  448832.,
      22984.,   56008.,   89032.,   122056.,  155080.,  188104.,  221128.,
      254152.,  287176.,  320200.,  353224.,  386248.,  419272.,  452296.,
      23120.,   56400.,   89680.,   122960.,  156240.,  189520.,  222800.,
      256080.,  289360.,  322640.,  355920.,  389200.,  422480.,  455760.,
      23256.,   56792.,   90328.,   123864.,  157400.,  190936.,  224472.,
      258008.,  291544.,  325080.,  358616.,  392152.,  425688.,  459224.,
      23392.,   57184.,   90976.,   124768.,  158560.,  192352.,  226144.,
      259936.,  293728.,  327520.,  361312.,  395104.,  428896.,  462688.,
      23528.,   57576.,   91624.,   125672.,  159720.,  193768.,  227816.,
      261864.,  295912.,  329960.,  364008.,  398056.,  432104.,  466152.,
      23664.,   57968.,   92272.,   126576.,  160880.,  195184.,  229488.,
      263792.,  298096.,  332400.,  366704.,  401008.,  435312.,  469616.,
      23800.,   58360.,   92920.,   127480.,  162040.,  196600.,  231160.,
      265720.,  300280.,  334840.,  369400.,  403960.,  438520.,  473080.,
      23936.,   58752.,   93568.,   128384.,  163200.,  198016.,  232832.,
      267648.,  302464.,  337280.,  372096.,  406912.,  441728.,  476544.,
      1407880., 1504392., 1600904., 1697416., 1793928., 1890440., 1986952.,
      2083464., 2179976., 2276488., 2373000., 2469512., 2566024., 2662536.,
      1411600., 1508368., 1605136., 1701904., 1798672., 1895440., 1992208.,
      2088976., 2185744., 2282512., 2379280., 2476048., 2572816., 2669584.,
      1415320., 1512344., 1609368., 1706392., 1803416., 1900440., 1997464.,
      2094488., 2191512., 2288536., 2385560., 2482584., 2579608., 2676632.,
      1419040., 1516320., 1613600., 1710880., 1808160., 1905440., 2002720.,
      2100000., 2197280., 2294560., 2391840., 2489120., 2586400., 2683680.,
      1422760., 1520296., 1617832., 1715368., 1812904., 1910440., 2007976.,
      2105512., 2203048., 2300584., 2398120., 2495656., 2593192., 2690728.,
      1426480., 1524272., 1622064., 1719856., 1817648., 1915440., 2013232.,
      2111024., 2208816., 2306608., 2404400., 2502192., 2599984., 2697776.,
      1430200., 1528248., 1626296., 1724344., 1822392., 1920440., 2018488.,
      2116536., 2214584., 2312632., 2410680., 2508728., 2606776., 2704824.,
      1433920., 1532224., 1630528., 1728832., 1827136., 1925440., 2023744.,
      2122048., 2220352., 2318656., 2416960., 2515264., 2613568., 2711872.,
      1437640., 1536200., 1634760., 1733320., 1831880., 1930440., 2029000.,
      2127560., 2226120., 2324680., 2423240., 2521800., 2620360., 2718920.,
      1441360., 1540176., 1638992., 1737808., 1836624., 1935440., 2034256.,
      2133072., 2231888., 2330704., 2429520., 2528336., 2627152., 2725968.,
      1445080., 1544152., 1643224., 1742296., 1841368., 1940440., 2039512.,
      2138584., 2237656., 2336728., 2435800., 2534872., 2633944., 2733016.,
      1448800., 1548128., 1647456., 1746784., 1846112., 1945440., 2044768.,
      2144096., 2243424., 2342752., 2442080., 2541408., 2640736., 2740064.,
      1452520., 1552104., 1651688., 1751272., 1850856., 1950440., 2050024.,
      2149608., 2249192., 2348776., 2448360., 2547944., 2647528., 2747112.,
      1456240., 1556080., 1655920., 1755760., 1855600., 1955440., 2055280.,
      2155120., 2254960., 2354800., 2454640., 2554480., 2654320., 2754160.,
      1459960., 1560056., 1660152., 1760248., 1860344., 1960440., 2060536.,
      2160632., 2260728., 2360824., 2460920., 2561016., 2661112., 2761208.,
      1463680., 1564032., 1664384., 1764736., 1865088., 1965440., 2065792.,
      2166144., 2266496., 2366848., 2467200., 2567552., 2667904., 2768256.,
      4628872., 4790920., 4952968., 5115016., 5277064., 5439112., 5601160.,
      5763208., 5925256., 6087304., 6249352., 6411400., 6573448., 6735496.,
      4636176., 4798480., 4960784., 5123088., 5285392., 5447696., 5610000.,
      5772304., 5934608., 6096912., 6259216., 6421520., 6583824., 6746128.,
      4643480., 4806040., 4968600., 5131160., 5293720., 5456280., 5618840.,
      5781400., 5943960., 6106520., 6269080., 6431640., 6594200., 6756760.,
      4650784., 4813600., 4976416., 5139232., 5302048., 5464864., 5627680.,
      5790496., 5953312., 6116128., 6278944., 6441760., 6604576., 6767392.,
      4658088., 4821160., 4984232., 5147304., 5310376., 5473448., 5636520.,
      5799592., 5962664., 6125736., 6288808., 6451880., 6614952., 6778024.,
      4665392., 4828720., 4992048., 5155376., 5318704., 5482032., 5645360.,
      5808688., 5972016., 6135344., 6298672., 6462000., 6625328., 6788656.,
      4672696., 4836280., 4999864., 5163448., 5327032., 5490616., 5654200.,
      5817784., 5981368., 6144952., 6308536., 6472120., 6635704., 6799288.,
      4680000., 4843840., 5007680., 5171520., 5335360., 5499200., 5663040.,
      5826880., 5990720., 6154560., 6318400., 6482240., 6646080., 6809920.,
      4687304., 4851400., 5015496., 5179592., 5343688., 5507784., 5671880.,
      5835976., 6000072., 6164168., 6328264., 6492360., 6656456., 6820552.,
      4694608., 4858960., 5023312., 5187664., 5352016., 5516368., 5680720.,
      5845072., 6009424., 6173776., 6338128., 6502480., 6666832., 6831184.,
      4701912., 4866520., 5031128., 5195736., 5360344., 5524952., 5689560.,
      5854168., 6018776., 6183384., 6347992., 6512600., 6677208., 6841816.,
      4709216., 4874080., 5038944., 5203808., 5368672., 5533536., 5698400.,
      5863264., 6028128., 6192992., 6357856., 6522720., 6687584., 6852448.,
      4716520., 4881640., 5046760., 5211880., 5377000., 5542120., 5707240.,
      5872360., 6037480., 6202600., 6367720., 6532840., 6697960., 6863080.,
      4723824., 4889200., 5054576., 5219952., 5385328., 5550704., 5716080.,
      5881456., 6046832., 6212208., 6377584., 6542960., 6708336., 6873712.,
      4731128., 4896760., 5062392., 5228024., 5393656., 5559288., 5724920.,
      5890552., 6056184., 6221816., 6387448., 6553080., 6718712., 6884344.,
      4738432., 4904320., 5070208., 5236096., 5401984., 5567872., 5733760.,
      5899648., 6065536., 6231424., 6397312., 6563200., 6729088., 6894976.};
  const int batches = 3;
  const int m = 16;
  const int k = 16;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M16xK16xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      21896.,   52872.,   83848.,   114824.,  145800.,  176776.,  207752.,
      238728.,  269704.,  300680.,  331656.,  362632.,  393608.,  424584.,
      455560.,  22032.,   53264.,   84496.,   115728.,  146960.,  178192.,
      209424.,  240656.,  271888.,  303120.,  334352.,  365584.,  396816.,
      428048.,  459280.,  22168.,   53656.,   85144.,   116632.,  148120.,
      179608.,  211096.,  242584.,  274072.,  305560.,  337048.,  368536.,
      400024.,  431512.,  463000.,  22304.,   54048.,   85792.,   117536.,
      149280.,  181024.,  212768.,  244512.,  276256.,  308000.,  339744.,
      371488.,  403232.,  434976.,  466720.,  22440.,   54440.,   86440.,
      118440.,  150440.,  182440.,  214440.,  246440.,  278440.,  310440.,
      342440.,  374440.,  406440.,  438440.,  470440.,  22576.,   54832.,
      87088.,   119344.,  151600.,  183856.,  216112.,  248368.,  280624.,
      312880.,  345136.,  377392.,  409648.,  441904.,  474160.,  22712.,
      55224.,   87736.,   120248.,  152760.,  185272.,  217784.,  250296.,
      282808.,  315320.,  347832.,  380344.,  412856.,  445368.,  477880.,
      22848.,   55616.,   88384.,   121152.,  153920.,  186688.,  219456.,
      252224.,  284992.,  317760.,  350528.,  383296.,  416064.,  448832.,
      481600.,  22984.,   56008.,   89032.,   122056.,  155080.,  188104.,
      221128.,  254152.,  287176.,  320200.,  353224.,  386248.,  419272.,
      452296.,  485320.,  23120.,   56400.,   89680.,   122960.,  156240.,
      189520.,  222800.,  256080.,  289360.,  322640.,  355920.,  389200.,
      422480.,  455760.,  489040.,  23256.,   56792.,   90328.,   123864.,
      157400.,  190936.,  224472.,  258008.,  291544.,  325080.,  358616.,
      392152.,  425688.,  459224.,  492760.,  23392.,   57184.,   90976.,
      124768.,  158560.,  192352.,  226144.,  259936.,  293728.,  327520.,
      361312.,  395104.,  428896.,  462688.,  496480.,  23528.,   57576.,
      91624.,   125672.,  159720.,  193768.,  227816.,  261864.,  295912.,
      329960.,  364008.,  398056.,  432104.,  466152.,  500200.,  23664.,
      57968.,   92272.,   126576.,  160880.,  195184.,  229488.,  263792.,
      298096.,  332400.,  366704.,  401008.,  435312.,  469616.,  503920.,
      23800.,   58360.,   92920.,   127480.,  162040.,  196600.,  231160.,
      265720.,  300280.,  334840.,  369400.,  403960.,  438520.,  473080.,
      507640.,  23936.,   58752.,   93568.,   128384.,  163200.,  198016.,
      232832.,  267648.,  302464.,  337280.,  372096.,  406912.,  441728.,
      476544.,  511360.,  1504392., 1600904., 1697416., 1793928., 1890440.,
      1986952., 2083464., 2179976., 2276488., 2373000., 2469512., 2566024.,
      2662536., 2759048., 2855560., 1508368., 1605136., 1701904., 1798672.,
      1895440., 1992208., 2088976., 2185744., 2282512., 2379280., 2476048.,
      2572816., 2669584., 2766352., 2863120., 1512344., 1609368., 1706392.,
      1803416., 1900440., 1997464., 2094488., 2191512., 2288536., 2385560.,
      2482584., 2579608., 2676632., 2773656., 2870680., 1516320., 1613600.,
      1710880., 1808160., 1905440., 2002720., 2100000., 2197280., 2294560.,
      2391840., 2489120., 2586400., 2683680., 2780960., 2878240., 1520296.,
      1617832., 1715368., 1812904., 1910440., 2007976., 2105512., 2203048.,
      2300584., 2398120., 2495656., 2593192., 2690728., 2788264., 2885800.,
      1524272., 1622064., 1719856., 1817648., 1915440., 2013232., 2111024.,
      2208816., 2306608., 2404400., 2502192., 2599984., 2697776., 2795568.,
      2893360., 1528248., 1626296., 1724344., 1822392., 1920440., 2018488.,
      2116536., 2214584., 2312632., 2410680., 2508728., 2606776., 2704824.,
      2802872., 2900920., 1532224., 1630528., 1728832., 1827136., 1925440.,
      2023744., 2122048., 2220352., 2318656., 2416960., 2515264., 2613568.,
      2711872., 2810176., 2908480., 1536200., 1634760., 1733320., 1831880.,
      1930440., 2029000., 2127560., 2226120., 2324680., 2423240., 2521800.,
      2620360., 2718920., 2817480., 2916040., 1540176., 1638992., 1737808.,
      1836624., 1935440., 2034256., 2133072., 2231888., 2330704., 2429520.,
      2528336., 2627152., 2725968., 2824784., 2923600., 1544152., 1643224.,
      1742296., 1841368., 1940440., 2039512., 2138584., 2237656., 2336728.,
      2435800., 2534872., 2633944., 2733016., 2832088., 2931160., 1548128.,
      1647456., 1746784., 1846112., 1945440., 2044768., 2144096., 2243424.,
      2342752., 2442080., 2541408., 2640736., 2740064., 2839392., 2938720.,
      1552104., 1651688., 1751272., 1850856., 1950440., 2050024., 2149608.,
      2249192., 2348776., 2448360., 2547944., 2647528., 2747112., 2846696.,
      2946280., 1556080., 1655920., 1755760., 1855600., 1955440., 2055280.,
      2155120., 2254960., 2354800., 2454640., 2554480., 2654320., 2754160.,
      2854000., 2953840., 1560056., 1660152., 1760248., 1860344., 1960440.,
      2060536., 2160632., 2260728., 2360824., 2460920., 2561016., 2661112.,
      2761208., 2861304., 2961400., 1564032., 1664384., 1764736., 1865088.,
      1965440., 2065792., 2166144., 2266496., 2366848., 2467200., 2567552.,
      2667904., 2768256., 2868608., 2968960., 4952968., 5115016., 5277064.,
      5439112., 5601160., 5763208., 5925256., 6087304., 6249352., 6411400.,
      6573448., 6735496., 6897544., 7059592., 7221640., 4960784., 5123088.,
      5285392., 5447696., 5610000., 5772304., 5934608., 6096912., 6259216.,
      6421520., 6583824., 6746128., 6908432., 7070736., 7233040., 4968600.,
      5131160., 5293720., 5456280., 5618840., 5781400., 5943960., 6106520.,
      6269080., 6431640., 6594200., 6756760., 6919320., 7081880., 7244440.,
      4976416., 5139232., 5302048., 5464864., 5627680., 5790496., 5953312.,
      6116128., 6278944., 6441760., 6604576., 6767392., 6930208., 7093024.,
      7255840., 4984232., 5147304., 5310376., 5473448., 5636520., 5799592.,
      5962664., 6125736., 6288808., 6451880., 6614952., 6778024., 6941096.,
      7104168., 7267240., 4992048., 5155376., 5318704., 5482032., 5645360.,
      5808688., 5972016., 6135344., 6298672., 6462000., 6625328., 6788656.,
      6951984., 7115312., 7278640., 4999864., 5163448., 5327032., 5490616.,
      5654200., 5817784., 5981368., 6144952., 6308536., 6472120., 6635704.,
      6799288., 6962872., 7126456., 7290040., 5007680., 5171520., 5335360.,
      5499200., 5663040., 5826880., 5990720., 6154560., 6318400., 6482240.,
      6646080., 6809920., 6973760., 7137600., 7301440., 5015496., 5179592.,
      5343688., 5507784., 5671880., 5835976., 6000072., 6164168., 6328264.,
      6492360., 6656456., 6820552., 6984648., 7148744., 7312840., 5023312.,
      5187664., 5352016., 5516368., 5680720., 5845072., 6009424., 6173776.,
      6338128., 6502480., 6666832., 6831184., 6995536., 7159888., 7324240.,
      5031128., 5195736., 5360344., 5524952., 5689560., 5854168., 6018776.,
      6183384., 6347992., 6512600., 6677208., 6841816., 7006424., 7171032.,
      7335640., 5038944., 5203808., 5368672., 5533536., 5698400., 5863264.,
      6028128., 6192992., 6357856., 6522720., 6687584., 6852448., 7017312.,
      7182176., 7347040., 5046760., 5211880., 5377000., 5542120., 5707240.,
      5872360., 6037480., 6202600., 6367720., 6532840., 6697960., 6863080.,
      7028200., 7193320., 7358440., 5054576., 5219952., 5385328., 5550704.,
      5716080., 5881456., 6046832., 6212208., 6377584., 6542960., 6708336.,
      6873712., 7039088., 7204464., 7369840., 5062392., 5228024., 5393656.,
      5559288., 5724920., 5890552., 6056184., 6221816., 6387448., 6553080.,
      6718712., 6884344., 7049976., 7215608., 7381240., 5070208., 5236096.,
      5401984., 5567872., 5733760., 5899648., 6065536., 6231424., 6397312.,
      6563200., 6729088., 6894976., 7060864., 7226752., 7392640.};
  const int batches = 3;
  const int m = 16;
  const int k = 16;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0TrueTrue, M16xK16xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      21896.,   52872.,   83848.,   114824.,  145800.,  176776.,  207752.,
      238728.,  269704.,  300680.,  331656.,  362632.,  393608.,  424584.,
      455560.,  486536.,  22032.,   53264.,   84496.,   115728.,  146960.,
      178192.,  209424.,  240656.,  271888.,  303120.,  334352.,  365584.,
      396816.,  428048.,  459280.,  490512.,  22168.,   53656.,   85144.,
      116632.,  148120.,  179608.,  211096.,  242584.,  274072.,  305560.,
      337048.,  368536.,  400024.,  431512.,  463000.,  494488.,  22304.,
      54048.,   85792.,   117536.,  149280.,  181024.,  212768.,  244512.,
      276256.,  308000.,  339744.,  371488.,  403232.,  434976.,  466720.,
      498464.,  22440.,   54440.,   86440.,   118440.,  150440.,  182440.,
      214440.,  246440.,  278440.,  310440.,  342440.,  374440.,  406440.,
      438440.,  470440.,  502440.,  22576.,   54832.,   87088.,   119344.,
      151600.,  183856.,  216112.,  248368.,  280624.,  312880.,  345136.,
      377392.,  409648.,  441904.,  474160.,  506416.,  22712.,   55224.,
      87736.,   120248.,  152760.,  185272.,  217784.,  250296.,  282808.,
      315320.,  347832.,  380344.,  412856.,  445368.,  477880.,  510392.,
      22848.,   55616.,   88384.,   121152.,  153920.,  186688.,  219456.,
      252224.,  284992.,  317760.,  350528.,  383296.,  416064.,  448832.,
      481600.,  514368.,  22984.,   56008.,   89032.,   122056.,  155080.,
      188104.,  221128.,  254152.,  287176.,  320200.,  353224.,  386248.,
      419272.,  452296.,  485320.,  518344.,  23120.,   56400.,   89680.,
      122960.,  156240.,  189520.,  222800.,  256080.,  289360.,  322640.,
      355920.,  389200.,  422480.,  455760.,  489040.,  522320.,  23256.,
      56792.,   90328.,   123864.,  157400.,  190936.,  224472.,  258008.,
      291544.,  325080.,  358616.,  392152.,  425688.,  459224.,  492760.,
      526296.,  23392.,   57184.,   90976.,   124768.,  158560.,  192352.,
      226144.,  259936.,  293728.,  327520.,  361312.,  395104.,  428896.,
      462688.,  496480.,  530272.,  23528.,   57576.,   91624.,   125672.,
      159720.,  193768.,  227816.,  261864.,  295912.,  329960.,  364008.,
      398056.,  432104.,  466152.,  500200.,  534248.,  23664.,   57968.,
      92272.,   126576.,  160880.,  195184.,  229488.,  263792.,  298096.,
      332400.,  366704.,  401008.,  435312.,  469616.,  503920.,  538224.,
      23800.,   58360.,   92920.,   127480.,  162040.,  196600.,  231160.,
      265720.,  300280.,  334840.,  369400.,  403960.,  438520.,  473080.,
      507640.,  542200.,  23936.,   58752.,   93568.,   128384.,  163200.,
      198016.,  232832.,  267648.,  302464.,  337280.,  372096.,  406912.,
      441728.,  476544.,  511360.,  546176.,  1600904., 1697416., 1793928.,
      1890440., 1986952., 2083464., 2179976., 2276488., 2373000., 2469512.,
      2566024., 2662536., 2759048., 2855560., 2952072., 3048584., 1605136.,
      1701904., 1798672., 1895440., 1992208., 2088976., 2185744., 2282512.,
      2379280., 2476048., 2572816., 2669584., 2766352., 2863120., 2959888.,
      3056656., 1609368., 1706392., 1803416., 1900440., 1997464., 2094488.,
      2191512., 2288536., 2385560., 2482584., 2579608., 2676632., 2773656.,
      2870680., 2967704., 3064728., 1613600., 1710880., 1808160., 1905440.,
      2002720., 2100000., 2197280., 2294560., 2391840., 2489120., 2586400.,
      2683680., 2780960., 2878240., 2975520., 3072800., 1617832., 1715368.,
      1812904., 1910440., 2007976., 2105512., 2203048., 2300584., 2398120.,
      2495656., 2593192., 2690728., 2788264., 2885800., 2983336., 3080872.,
      1622064., 1719856., 1817648., 1915440., 2013232., 2111024., 2208816.,
      2306608., 2404400., 2502192., 2599984., 2697776., 2795568., 2893360.,
      2991152., 3088944., 1626296., 1724344., 1822392., 1920440., 2018488.,
      2116536., 2214584., 2312632., 2410680., 2508728., 2606776., 2704824.,
      2802872., 2900920., 2998968., 3097016., 1630528., 1728832., 1827136.,
      1925440., 2023744., 2122048., 2220352., 2318656., 2416960., 2515264.,
      2613568., 2711872., 2810176., 2908480., 3006784., 3105088., 1634760.,
      1733320., 1831880., 1930440., 2029000., 2127560., 2226120., 2324680.,
      2423240., 2521800., 2620360., 2718920., 2817480., 2916040., 3014600.,
      3113160., 1638992., 1737808., 1836624., 1935440., 2034256., 2133072.,
      2231888., 2330704., 2429520., 2528336., 2627152., 2725968., 2824784.,
      2923600., 3022416., 3121232., 1643224., 1742296., 1841368., 1940440.,
      2039512., 2138584., 2237656., 2336728., 2435800., 2534872., 2633944.,
      2733016., 2832088., 2931160., 3030232., 3129304., 1647456., 1746784.,
      1846112., 1945440., 2044768., 2144096., 2243424., 2342752., 2442080.,
      2541408., 2640736., 2740064., 2839392., 2938720., 3038048., 3137376.,
      1651688., 1751272., 1850856., 1950440., 2050024., 2149608., 2249192.,
      2348776., 2448360., 2547944., 2647528., 2747112., 2846696., 2946280.,
      3045864., 3145448., 1655920., 1755760., 1855600., 1955440., 2055280.,
      2155120., 2254960., 2354800., 2454640., 2554480., 2654320., 2754160.,
      2854000., 2953840., 3053680., 3153520., 1660152., 1760248., 1860344.,
      1960440., 2060536., 2160632., 2260728., 2360824., 2460920., 2561016.,
      2661112., 2761208., 2861304., 2961400., 3061496., 3161592., 1664384.,
      1764736., 1865088., 1965440., 2065792., 2166144., 2266496., 2366848.,
      2467200., 2567552., 2667904., 2768256., 2868608., 2968960., 3069312.,
      3169664., 5277064., 5439112., 5601160., 5763208., 5925256., 6087304.,
      6249352., 6411400., 6573448., 6735496., 6897544., 7059592., 7221640.,
      7383688., 7545736., 7707784., 5285392., 5447696., 5610000., 5772304.,
      5934608., 6096912., 6259216., 6421520., 6583824., 6746128., 6908432.,
      7070736., 7233040., 7395344., 7557648., 7719952., 5293720., 5456280.,
      5618840., 5781400., 5943960., 6106520., 6269080., 6431640., 6594200.,
      6756760., 6919320., 7081880., 7244440., 7407000., 7569560., 7732120.,
      5302048., 5464864., 5627680., 5790496., 5953312., 6116128., 6278944.,
      6441760., 6604576., 6767392., 6930208., 7093024., 7255840., 7418656.,
      7581472., 7744288., 5310376., 5473448., 5636520., 5799592., 5962664.,
      6125736., 6288808., 6451880., 6614952., 6778024., 6941096., 7104168.,
      7267240., 7430312., 7593384., 7756456., 5318704., 5482032., 5645360.,
      5808688., 5972016., 6135344., 6298672., 6462000., 6625328., 6788656.,
      6951984., 7115312., 7278640., 7441968., 7605296., 7768624., 5327032.,
      5490616., 5654200., 5817784., 5981368., 6144952., 6308536., 6472120.,
      6635704., 6799288., 6962872., 7126456., 7290040., 7453624., 7617208.,
      7780792., 5335360., 5499200., 5663040., 5826880., 5990720., 6154560.,
      6318400., 6482240., 6646080., 6809920., 6973760., 7137600., 7301440.,
      7465280., 7629120., 7792960., 5343688., 5507784., 5671880., 5835976.,
      6000072., 6164168., 6328264., 6492360., 6656456., 6820552., 6984648.,
      7148744., 7312840., 7476936., 7641032., 7805128., 5352016., 5516368.,
      5680720., 5845072., 6009424., 6173776., 6338128., 6502480., 6666832.,
      6831184., 6995536., 7159888., 7324240., 7488592., 7652944., 7817296.,
      5360344., 5524952., 5689560., 5854168., 6018776., 6183384., 6347992.,
      6512600., 6677208., 6841816., 7006424., 7171032., 7335640., 7500248.,
      7664856., 7829464., 5368672., 5533536., 5698400., 5863264., 6028128.,
      6192992., 6357856., 6522720., 6687584., 6852448., 7017312., 7182176.,
      7347040., 7511904., 7676768., 7841632., 5377000., 5542120., 5707240.,
      5872360., 6037480., 6202600., 6367720., 6532840., 6697960., 6863080.,
      7028200., 7193320., 7358440., 7523560., 7688680., 7853800., 5385328.,
      5550704., 5716080., 5881456., 6046832., 6212208., 6377584., 6542960.,
      6708336., 6873712., 7039088., 7204464., 7369840., 7535216., 7700592.,
      7865968., 5393656., 5559288., 5724920., 5890552., 6056184., 6221816.,
      6387448., 6553080., 6718712., 6884344., 7049976., 7215608., 7381240.,
      7546872., 7712504., 7878136., 5401984., 5567872., 5733760., 5899648.,
      6065536., 6231424., 6397312., 6563200., 6729088., 6894976., 7060864.,
      7226752., 7392640., 7558528., 7724416., 7890304.};
  const int batches = 3;
  const int m = 16;
  const int k = 16;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}